From 23fb64c11a0a9a35d6d3c1b19862efd245c12028 Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Tue, 19 Nov 2024 16:02:50 +0000
Subject: [PATCH 1/8] fix: #codio-16210 broken projects: no save, no reload
---
package-lock.json | 370 +++++++-----------
package.json | 4 +-
.../crash-message/crash-message.jsx | 24 +-
src/containers/error-boundary.jsx | 8 +-
src/containers/library-item.jsx | 2 +-
src/lib/project-saver-hoc.jsx | 32 +-
test/unit/util/project-saver-hoc.test.jsx | 3 +-
webpack.config.js | 8 +-
8 files changed, 174 insertions(+), 277 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 73bf6deb304..5cecd60d8fb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -67,9 +67,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "codio/scratch-storage#develop",
+ "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "codio/scratch-vm#develop",
+ "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
@@ -128,6 +128,117 @@
"react-dom": "^16.0.0"
}
},
+ "../scratch-storage": {
+ "name": "@codioedu/scratch-storage",
+ "version": "3.0.9",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "arraybuffer-loader": "^1.0.3",
+ "base64-js": "^1.3.0",
+ "cross-fetch": "^4.0.0",
+ "fastestsmallesttextencoderdecoder": "^1.0.7",
+ "js-md5": "^0.7.3",
+ "minilog": "^3.1.0"
+ },
+ "devDependencies": {
+ "@babel/core": "7.26.0",
+ "@babel/plugin-transform-runtime": "7.25.9",
+ "@babel/polyfill": "7.12.1",
+ "@babel/preset-env": "7.26.0",
+ "@commitlint/cli": "18.6.1",
+ "@commitlint/config-conventional": "18.6.3",
+ "@commitlint/travis-cli": "8.3.6",
+ "@types/jest": "29.5.14",
+ "@typescript-eslint/eslint-plugin": "7.18.0",
+ "babel-loader": "9.2.1",
+ "buffer": "6.0.3",
+ "eslint": "8.57.1",
+ "eslint-config-scratch": "9.0.9",
+ "eslint-plugin-jest": "27.9.0",
+ "eslint-plugin-react": "7.37.2",
+ "file-loader": "6.2.0",
+ "husky": "8.0.3",
+ "jest": "29.7.0",
+ "json": "^9.0.4",
+ "rimraf": "6.0.1",
+ "scratch-semantic-release-config": "1.0.16",
+ "scratch-webpack-configuration": "1.6.0",
+ "semantic-release": "19.0.5",
+ "ts-jest": "29.2.5",
+ "ts-jest-mock-import-meta": "1.2.0",
+ "ts-loader": "9.5.1",
+ "webpack": "5.95.0",
+ "webpack-cli": "5.1.4"
+ }
+ },
+ "../scratch-vm": {
+ "name": "@codioedu/scratch-vm",
+ "version": "4.8.59",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@vernier/godirect": "^1.5.0",
+ "arraybuffer-loader": "^1.0.6",
+ "atob": "^2.1.2",
+ "btoa": "^1.2.1",
+ "canvas-toBlob": "^1.0.0",
+ "decode-html": "^2.0.0",
+ "diff-match-patch": "^1.0.4",
+ "format-message": "^6.2.1",
+ "htmlparser2": "^3.10.0",
+ "immutable": "^3.8.1",
+ "jszip": "^3.1.5",
+ "minilog": "^3.1.0",
+ "scratch-audio": "^1.0.6",
+ "scratch-parser": "^5.1.1",
+ "scratch-render": "^1.0.232",
+ "scratch-sb1-converter": "^1.0.0",
+ "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
+ "scratch-svg-renderer": "2.5.26",
+ "scratch-translate-extension-languages": "^1.0.0",
+ "text-encoding": "^0.7.0",
+ "uuid": "^8.3.2",
+ "web-worker": "^1.3.0"
+ },
+ "devDependencies": {
+ "@babel/core": "7.26.0",
+ "@babel/eslint-parser": "7.25.9",
+ "@babel/preset-env": "7.26.0",
+ "@commitlint/cli": "17.8.1",
+ "@commitlint/config-conventional": "17.8.1",
+ "adm-zip": "0.4.11",
+ "babel-loader": "9.2.1",
+ "callsite": "1.0.0",
+ "copy-webpack-plugin": "4.6.0",
+ "docdash": "1.2.0",
+ "eslint": "8.57.1",
+ "eslint-config-scratch": "9.0.9",
+ "expose-loader": "1.0.3",
+ "file-loader": "6.2.0",
+ "format-message-cli": "6.2.4",
+ "husky": "8.0.3",
+ "in-publish": "2.0.1",
+ "js-md5": "0.7.3",
+ "jsdoc": "3.6.11",
+ "json": "^9.0.4",
+ "pngjs": "3.4.0",
+ "scratch-blocks": "1.1.206",
+ "scratch-l10n": "3.18.357",
+ "scratch-render-fonts": "1.0.118",
+ "scratch-semantic-release-config": "1.0.16",
+ "scratch-webpack-configuration": "1.6.0",
+ "script-loader": "0.7.2",
+ "semantic-release": "19.0.5",
+ "stats.js": "0.17.0",
+ "tap": "16.3.10",
+ "webpack": "5.95.0",
+ "webpack-cli": "4.10.0",
+ "webpack-dev-server": "3.11.3"
+ },
+ "peerDependencies": {
+ "scratch-svg-renderer": "^0.2.0-prerelease"
+ }
+ },
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
@@ -3639,12 +3750,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/@vernier/godirect": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.8.3.tgz",
- "integrity": "sha512-poS0LZ3jAjH36gIAI0aNBBdsGGbmt11VFbLO+eGDJ/JDSPtMu1iUStvOi0UM/ZH6Jyh34SjVd8Cnxu/Wmcb8iQ==",
- "license": "BSD-3-Clause"
- },
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -4600,6 +4705,7 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true,
"license": "(MIT OR Apache-2.0)",
"bin": {
"atob": "bin/atob.js"
@@ -5965,18 +6071,6 @@
"node-int64": "^0.4.0"
}
},
- "node_modules/btoa": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
- "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
- "license": "(MIT OR Apache-2.0)",
- "bin": {
- "btoa": "bin/btoa.js"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/buffer": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
@@ -6313,12 +6407,6 @@
],
"license": "CC-BY-4.0"
},
- "node_modules/canvas-toBlob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz",
- "integrity": "sha512-oU5bawygt/Nef9F+C49eTFmzXzz6yKdGqn6J1wn/LZQF5ulnnZVm0KIZzik85I6tjCbZFH6aa47j4bU2tkHxRw==",
- "license": "MIT"
- },
"node_modules/capture-exit": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
@@ -7364,6 +7452,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
"integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"node-fetch": "^2.6.12"
@@ -7835,12 +7924,6 @@
"integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
"license": "MIT"
},
- "node_modules/decode-html": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz",
- "integrity": "sha512-lVJ+EBozhAXA2nSQG+xAgcD0P5K3uejnIIvM09uoQfS8AALkQ+HhHcEUvKovXi0EIpIZWjm0y8X7ULjaJpgY9w==",
- "license": "MIT"
- },
"node_modules/decode-uri-component": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
@@ -8305,12 +8388,6 @@
"node": ">=0.3.1"
}
},
- "node_modules/diff-match-patch": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
- "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==",
- "license": "Apache-2.0"
- },
"node_modules/diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
@@ -8399,6 +8476,7 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.0",
@@ -8425,12 +8503,14 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+ "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"domelementtype": "1"
@@ -8446,6 +8526,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==",
+ "dev": true,
"dependencies": {
"dom-serializer": "0",
"domelementtype": "1"
@@ -8689,6 +8770,7 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+ "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/env-ci": {
@@ -10701,40 +10783,6 @@
"node": ">= 0.12"
}
},
- "node_modules/format-message": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.4.tgz",
- "integrity": "sha512-/24zYeSRy2ZlEO2OIctm7jOHvMpoWf+uhqFCaqqyZKi1C229zAAy2E5vF4lSSaMH0a2kewPrOzq6xN4Yy7cQrw==",
- "license": "MIT",
- "dependencies": {
- "format-message-formats": "^6.2.4",
- "format-message-interpret": "^6.2.4",
- "format-message-parse": "^6.2.4",
- "lookup-closest-locale": "^6.2.0"
- }
- },
- "node_modules/format-message-formats": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.4.tgz",
- "integrity": "sha512-smT/fAqBLqusWfWCKRAx6QBDAAbmYznWsIyTyk66COmvwt2Byiqd7SJe2ma9a5oV0kwRaOJpN/F4lr4YK/n6qQ==",
- "license": "MIT"
- },
- "node_modules/format-message-interpret": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.4.tgz",
- "integrity": "sha512-dRvz9mXhITApyOtfuFEb/XqvCe1u6RMkQW49UJHXS8w2S8cAHCqq5LNDFK+QK6XVzcofROycLb/k1uybTAKt2w==",
- "license": "MIT",
- "dependencies": {
- "format-message-formats": "^6.2.4",
- "lookup-closest-locale": "^6.2.0"
- }
- },
- "node_modules/format-message-parse": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.4.tgz",
- "integrity": "sha512-k7WqXkEzgXkW4wkHdS6Cv2Ou0rIFtiDelZjgoe1saW4p7FT7zS8OeAUpAekhormqzpeecR97e4vBft1zMsfFOQ==",
- "license": "MIT"
- },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -12212,6 +12260,7 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.1",
@@ -12482,6 +12531,7 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/immutable": {
@@ -16784,12 +16834,6 @@
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
"license": "BSD-3-Clause"
},
- "node_modules/js-md5": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
- "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==",
- "license": "MIT"
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -17036,6 +17080,7 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
"integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "dev": true,
"license": "(MIT OR GPL-3.0-or-later)",
"dependencies": {
"lie": "~3.3.0",
@@ -17048,12 +17093,14 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
@@ -17069,12 +17116,14 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
@@ -17166,6 +17215,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"immediate": "~3.0.5"
@@ -17469,12 +17519,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/lookup-closest-locale": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz",
- "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==",
- "license": "MIT"
- },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -18498,6 +18542,7 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
@@ -18518,12 +18563,14 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
@@ -22063,6 +22110,7 @@
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true,
"license": "(MIT AND Zlib)"
},
"node_modules/papaparse": {
@@ -23971,6 +24019,7 @@
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
@@ -25282,51 +25331,6 @@
"scratch-render-fonts": "^1.0.0"
}
},
- "node_modules/scratch-parser": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.2.1.tgz",
- "integrity": "sha512-O9acef/B5MAQSB6PrEGKtbmEL1AOVZf4mYZnR0sNlzRvqqaEd+fZDL5SM7E9uQP09dIghefrm6/xmgzQIJP9Wg==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "ajv": "^6.3.0",
- "jszip": "^3.1.5",
- "pify": "^4.0.1"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/scratch-parser/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/scratch-parser/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "license": "MIT"
- },
- "node_modules/scratch-parser/node_modules/pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/scratch-render": {
"version": "1.2.81",
"resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-1.2.81.tgz",
@@ -25359,17 +25363,6 @@
"resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
"integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q=="
},
- "node_modules/scratch-sb1-converter": {
- "version": "1.0.299",
- "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-1.0.299.tgz",
- "integrity": "sha512-2lFnEIFbpVzMRQ0c1HyZf6xyDaEkWC87b6ZoCyMLX3okuJcfl1P2hpWJra0EvK9wYdIj7NUknrvffkpuMGmsyA==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "js-md5": "^0.7.3",
- "minilog": "^3.1.0",
- "text-encoding": "^0.7.0"
- }
- },
"node_modules/scratch-semantic-release-config": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/scratch-semantic-release-config/-/scratch-semantic-release-config-1.0.16.tgz",
@@ -25389,19 +25382,8 @@
}
},
"node_modules/scratch-storage": {
- "name": "@codioedu/scratch-storage",
- "version": "3.0.9",
- "resolved": "git+ssh://git@github.com/codio/scratch-storage.git#0cb49e4e0fae41b560767b09d0f436db56bb7a17",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/runtime": "^7.21.0",
- "arraybuffer-loader": "^1.0.3",
- "base64-js": "^1.3.0",
- "cross-fetch": "^4.0.0",
- "fastestsmallesttextencoderdecoder": "^1.0.7",
- "js-md5": "^0.7.3",
- "minilog": "^3.1.0"
- }
+ "resolved": "../scratch-storage",
+ "link": true
},
"node_modules/scratch-svg-renderer": {
"version": "2.5.30",
@@ -25421,71 +25403,9 @@
"scratch-render-fonts": "^1.0.0"
}
},
- "node_modules/scratch-translate-extension-languages": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-1.0.7.tgz",
- "integrity": "sha512-6+bQU9iVYv23T8J0SjpV6MTugm0y8myh/4DPgu1BGfccysdkaWzu3MkNGQyQRUlbqAiW9wM7ctfv3USPEkzTgg==",
- "license": "BSD-3-Clause"
- },
"node_modules/scratch-vm": {
- "name": "@codioedu/scratch-vm",
- "version": "4.8.59",
- "resolved": "git+ssh://git@github.com/codio/scratch-vm.git#a58b775f23f08b09b22aac3a6579ea7a1461c42d",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@vernier/godirect": "^1.5.0",
- "arraybuffer-loader": "^1.0.6",
- "atob": "^2.1.2",
- "btoa": "^1.2.1",
- "canvas-toBlob": "^1.0.0",
- "decode-html": "^2.0.0",
- "diff-match-patch": "^1.0.4",
- "format-message": "^6.2.1",
- "htmlparser2": "^3.10.0",
- "immutable": "^3.8.1",
- "jszip": "^3.1.5",
- "minilog": "^3.1.0",
- "scratch-audio": "^1.0.6",
- "scratch-parser": "^5.1.1",
- "scratch-render": "^1.0.232",
- "scratch-sb1-converter": "^1.0.0",
- "scratch-storage": "codio/scratch-storage#merge_upstream_31102024",
- "scratch-svg-renderer": "2.5.26",
- "scratch-translate-extension-languages": "^1.0.0",
- "text-encoding": "^0.7.0",
- "uuid": "^8.3.2",
- "web-worker": "^1.3.0"
- },
- "peerDependencies": {
- "scratch-svg-renderer": "^0.2.0-prerelease"
- }
- },
- "node_modules/scratch-vm/node_modules/scratch-svg-renderer": {
- "version": "2.5.26",
- "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-2.5.26.tgz",
- "integrity": "sha512-MIPwp2evZ3Fe3Qm0fVDsOdGvlP6qdc/xrGC4KLqY4kHn1RhKDOFXYID1JesL4cUNpKXyxsVTn/qsQFQCp6PNUQ==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "base64-js": "^1.2.1",
- "base64-loader": "^1.0.0",
- "css-tree": "^1.1.3",
- "fastestsmallesttextencoderdecoder": "^1.0.22",
- "isomorphic-dompurify": "^2.4.0",
- "minilog": "^3.1.0",
- "transformation-matrix": "^1.15.0"
- },
- "peerDependencies": {
- "scratch-render-fonts": "^1.0.0"
- }
- },
- "node_modules/scratch-vm/node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
+ "resolved": "../scratch-vm",
+ "link": true
},
"node_modules/scratch-webpack-configuration": {
"version": "1.5.1",
@@ -25969,6 +25889,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/setprototypeof": {
@@ -27074,6 +26995,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
@@ -27892,13 +27814,6 @@
"semver": "bin/semver"
}
},
- "node_modules/text-encoding": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz",
- "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==",
- "deprecated": "no longer maintained",
- "license": "(Unlicense OR Apache-2.0)"
- },
"node_modules/text-extensions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
@@ -28144,6 +28059,7 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/transformation-matrix": {
@@ -29186,12 +29102,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/web-worker": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz",
- "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==",
- "license": "Apache-2.0"
- },
"node_modules/webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
diff --git a/package.json b/package.json
index 9018a6d45a2..46214956c89 100644
--- a/package.json
+++ b/package.json
@@ -90,9 +90,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "codio/scratch-storage#develop",
+ "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "codio/scratch-vm#develop",
+ "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
diff --git a/src/components/crash-message/crash-message.jsx b/src/components/crash-message/crash-message.jsx
index c3732ddc0cb..7ddc3810754 100644
--- a/src/components/crash-message/crash-message.jsx
+++ b/src/components/crash-message/crash-message.jsx
@@ -41,23 +41,25 @@ const CrashMessage = props => (
/>
)}
-
+ {props.onReload && (
+
+ )}
);
CrashMessage.propTypes = {
eventId: PropTypes.string,
- onReload: PropTypes.func.isRequired
+ onReload: PropTypes.func
};
export default CrashMessage;
diff --git a/src/containers/error-boundary.jsx b/src/containers/error-boundary.jsx
index 0df13ea1aec..0232aaef3d9 100644
--- a/src/containers/error-boundary.jsx
+++ b/src/containers/error-boundary.jsx
@@ -50,16 +50,16 @@ class ErrorBoundary extends React.Component {
}
handleReload () {
- window.location.replace(window.location.origin + window.location.pathname);
+ // do nothing. maybe in the future create new default project.
+ // window.location.replace(window.location.origin + window.location.pathname);
+ return;
}
render () {
if (this.state.error) {
if (recommendedBrowser()) {
return (
-
+
);
}
return ( {
- codio.subscribe('callSave', () => this.storeProjectToCodio());
+ codio.subscribe('callSave', () => this.storeProjectToCodio()
+ .catch(msg => {
+ /* eslint-disable-next-line no-console */
+ console.log(`error on save codio project: ${msg}`);
+ })
+ );
})
.fail(msg => {
/* eslint-disable-next-line no-console */
@@ -249,31 +254,6 @@ const ProjectSaverHOC = function (WrappedComponent) {
this.props.onSetProjectUnchanged();
});
}
- saveCodioFile (data) {
- return new Promise((resolve, reject) => {
- const {codio} = window;
- if (codio) {
- codio.loaded()
- .then(() => {
- const saveFile = codio.getFileName();
- window.codio.saveFile(saveFile, data)
- .then(resolve)
- .fail(msg => {
- const err = `saveCodioFile - error saving scratch file: ${msg}`;
- /* eslint-disable-next-line no-console */
- console.log(err);
- reject(new Error(err));
- });
- })
- .fail(msg => {
- const err = `codio loaded - error: ${msg}`;
- /* eslint-disable-next-line no-console */
- console.log(err);
- reject(new Error(err));
- });
- }
- });
- }
/**
* storeProject:
* @param {number|string|undefined} projectId - defined value will PUT/update; undefined/null will POST/create
diff --git a/test/unit/util/project-saver-hoc.test.jsx b/test/unit/util/project-saver-hoc.test.jsx
index f5ac7b680e6..1ec4aa91e8b 100644
--- a/test/unit/util/project-saver-hoc.test.jsx
+++ b/test/unit/util/project-saver-hoc.test.jsx
@@ -299,7 +299,8 @@ describe('projectSaverHOC', () => {
expect(mockedShowCreatingAlert).not.toHaveBeenCalled();
});
- test('if user saves, inline saving alert should show', () => {
+ // skipped due to not allowing empty projects (without targets) to save
+ test.skip('if user saves, inline saving alert should show', () => {
const mockedShowSavingAlert = jest.fn();
const Component = () => ;
const WrappedComponent = projectSaverHOC(Component);
diff --git a/webpack.config.js b/webpack.config.js
index 314e302993e..f8cf3a70b43 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -13,8 +13,7 @@ const ScratchWebpackConfigBuilder = require('scratch-webpack-configuration');
const baseConfig = new ScratchWebpackConfigBuilder(
{
rootPath: path.resolve(__dirname),
- enableReact: true,
- shouldSplitChunks: false
+ enableReact: true
})
.setTarget('browserslist')
.merge({
@@ -64,6 +63,11 @@ const baseConfig = new ScratchWebpackConfigBuilder(
context: 'node_modules/scratch-vm/dist/web',
from: 'extension-worker.{js,js.map}',
noErrorOnMissing: true
+ },
+ {
+ context: 'node_modules/scratch-storage/dist/web/',
+ from: '**/*',
+ noErrorOnMissing: true
}
]
}));
From 5ac830bc7f278367c12be92963d912a39601d02d Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Tue, 19 Nov 2024 16:20:20 +0000
Subject: [PATCH 2/8] chore: bump storage. vm
---
package-lock.json | 370 ++++++++++++++++++++++++++++------------------
package.json | 4 +-
2 files changed, 232 insertions(+), 142 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 5cecd60d8fb..195e5bc4ad9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -67,9 +67,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
+ "scratch-storage": "codio/scratch-storage#16210_fixes",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
+ "scratch-vm": "codio/scratch-vm#16210_fixes",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
@@ -128,117 +128,6 @@
"react-dom": "^16.0.0"
}
},
- "../scratch-storage": {
- "name": "@codioedu/scratch-storage",
- "version": "3.0.9",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/runtime": "^7.21.0",
- "arraybuffer-loader": "^1.0.3",
- "base64-js": "^1.3.0",
- "cross-fetch": "^4.0.0",
- "fastestsmallesttextencoderdecoder": "^1.0.7",
- "js-md5": "^0.7.3",
- "minilog": "^3.1.0"
- },
- "devDependencies": {
- "@babel/core": "7.26.0",
- "@babel/plugin-transform-runtime": "7.25.9",
- "@babel/polyfill": "7.12.1",
- "@babel/preset-env": "7.26.0",
- "@commitlint/cli": "18.6.1",
- "@commitlint/config-conventional": "18.6.3",
- "@commitlint/travis-cli": "8.3.6",
- "@types/jest": "29.5.14",
- "@typescript-eslint/eslint-plugin": "7.18.0",
- "babel-loader": "9.2.1",
- "buffer": "6.0.3",
- "eslint": "8.57.1",
- "eslint-config-scratch": "9.0.9",
- "eslint-plugin-jest": "27.9.0",
- "eslint-plugin-react": "7.37.2",
- "file-loader": "6.2.0",
- "husky": "8.0.3",
- "jest": "29.7.0",
- "json": "^9.0.4",
- "rimraf": "6.0.1",
- "scratch-semantic-release-config": "1.0.16",
- "scratch-webpack-configuration": "1.6.0",
- "semantic-release": "19.0.5",
- "ts-jest": "29.2.5",
- "ts-jest-mock-import-meta": "1.2.0",
- "ts-loader": "9.5.1",
- "webpack": "5.95.0",
- "webpack-cli": "5.1.4"
- }
- },
- "../scratch-vm": {
- "name": "@codioedu/scratch-vm",
- "version": "4.8.59",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@vernier/godirect": "^1.5.0",
- "arraybuffer-loader": "^1.0.6",
- "atob": "^2.1.2",
- "btoa": "^1.2.1",
- "canvas-toBlob": "^1.0.0",
- "decode-html": "^2.0.0",
- "diff-match-patch": "^1.0.4",
- "format-message": "^6.2.1",
- "htmlparser2": "^3.10.0",
- "immutable": "^3.8.1",
- "jszip": "^3.1.5",
- "minilog": "^3.1.0",
- "scratch-audio": "^1.0.6",
- "scratch-parser": "^5.1.1",
- "scratch-render": "^1.0.232",
- "scratch-sb1-converter": "^1.0.0",
- "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
- "scratch-svg-renderer": "2.5.26",
- "scratch-translate-extension-languages": "^1.0.0",
- "text-encoding": "^0.7.0",
- "uuid": "^8.3.2",
- "web-worker": "^1.3.0"
- },
- "devDependencies": {
- "@babel/core": "7.26.0",
- "@babel/eslint-parser": "7.25.9",
- "@babel/preset-env": "7.26.0",
- "@commitlint/cli": "17.8.1",
- "@commitlint/config-conventional": "17.8.1",
- "adm-zip": "0.4.11",
- "babel-loader": "9.2.1",
- "callsite": "1.0.0",
- "copy-webpack-plugin": "4.6.0",
- "docdash": "1.2.0",
- "eslint": "8.57.1",
- "eslint-config-scratch": "9.0.9",
- "expose-loader": "1.0.3",
- "file-loader": "6.2.0",
- "format-message-cli": "6.2.4",
- "husky": "8.0.3",
- "in-publish": "2.0.1",
- "js-md5": "0.7.3",
- "jsdoc": "3.6.11",
- "json": "^9.0.4",
- "pngjs": "3.4.0",
- "scratch-blocks": "1.1.206",
- "scratch-l10n": "3.18.357",
- "scratch-render-fonts": "1.0.118",
- "scratch-semantic-release-config": "1.0.16",
- "scratch-webpack-configuration": "1.6.0",
- "script-loader": "0.7.2",
- "semantic-release": "19.0.5",
- "stats.js": "0.17.0",
- "tap": "16.3.10",
- "webpack": "5.95.0",
- "webpack-cli": "4.10.0",
- "webpack-dev-server": "3.11.3"
- },
- "peerDependencies": {
- "scratch-svg-renderer": "^0.2.0-prerelease"
- }
- },
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
@@ -3750,6 +3639,12 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/@vernier/godirect": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.8.3.tgz",
+ "integrity": "sha512-poS0LZ3jAjH36gIAI0aNBBdsGGbmt11VFbLO+eGDJ/JDSPtMu1iUStvOi0UM/ZH6Jyh34SjVd8Cnxu/Wmcb8iQ==",
+ "license": "BSD-3-Clause"
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -4705,7 +4600,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true,
"license": "(MIT OR Apache-2.0)",
"bin": {
"atob": "bin/atob.js"
@@ -6071,6 +5965,18 @@
"node-int64": "^0.4.0"
}
},
+ "node_modules/btoa": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
+ "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
+ "license": "(MIT OR Apache-2.0)",
+ "bin": {
+ "btoa": "bin/btoa.js"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
"node_modules/buffer": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
@@ -6407,6 +6313,12 @@
],
"license": "CC-BY-4.0"
},
+ "node_modules/canvas-toBlob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz",
+ "integrity": "sha512-oU5bawygt/Nef9F+C49eTFmzXzz6yKdGqn6J1wn/LZQF5ulnnZVm0KIZzik85I6tjCbZFH6aa47j4bU2tkHxRw==",
+ "license": "MIT"
+ },
"node_modules/capture-exit": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
@@ -7452,7 +7364,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
"integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
"license": "MIT",
"dependencies": {
"node-fetch": "^2.6.12"
@@ -7924,6 +7835,12 @@
"integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
"license": "MIT"
},
+ "node_modules/decode-html": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz",
+ "integrity": "sha512-lVJ+EBozhAXA2nSQG+xAgcD0P5K3uejnIIvM09uoQfS8AALkQ+HhHcEUvKovXi0EIpIZWjm0y8X7ULjaJpgY9w==",
+ "license": "MIT"
+ },
"node_modules/decode-uri-component": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
@@ -8388,6 +8305,12 @@
"node": ">=0.3.1"
}
},
+ "node_modules/diff-match-patch": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
+ "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==",
+ "license": "Apache-2.0"
+ },
"node_modules/diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
@@ -8476,7 +8399,6 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.0",
@@ -8503,14 +8425,12 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
- "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"domelementtype": "1"
@@ -8526,7 +8446,6 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==",
- "dev": true,
"dependencies": {
"dom-serializer": "0",
"domelementtype": "1"
@@ -8770,7 +8689,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/env-ci": {
@@ -10783,6 +10701,40 @@
"node": ">= 0.12"
}
},
+ "node_modules/format-message": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.4.tgz",
+ "integrity": "sha512-/24zYeSRy2ZlEO2OIctm7jOHvMpoWf+uhqFCaqqyZKi1C229zAAy2E5vF4lSSaMH0a2kewPrOzq6xN4Yy7cQrw==",
+ "license": "MIT",
+ "dependencies": {
+ "format-message-formats": "^6.2.4",
+ "format-message-interpret": "^6.2.4",
+ "format-message-parse": "^6.2.4",
+ "lookup-closest-locale": "^6.2.0"
+ }
+ },
+ "node_modules/format-message-formats": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.4.tgz",
+ "integrity": "sha512-smT/fAqBLqusWfWCKRAx6QBDAAbmYznWsIyTyk66COmvwt2Byiqd7SJe2ma9a5oV0kwRaOJpN/F4lr4YK/n6qQ==",
+ "license": "MIT"
+ },
+ "node_modules/format-message-interpret": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.4.tgz",
+ "integrity": "sha512-dRvz9mXhITApyOtfuFEb/XqvCe1u6RMkQW49UJHXS8w2S8cAHCqq5LNDFK+QK6XVzcofROycLb/k1uybTAKt2w==",
+ "license": "MIT",
+ "dependencies": {
+ "format-message-formats": "^6.2.4",
+ "lookup-closest-locale": "^6.2.0"
+ }
+ },
+ "node_modules/format-message-parse": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.4.tgz",
+ "integrity": "sha512-k7WqXkEzgXkW4wkHdS6Cv2Ou0rIFtiDelZjgoe1saW4p7FT7zS8OeAUpAekhormqzpeecR97e4vBft1zMsfFOQ==",
+ "license": "MIT"
+ },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -12260,7 +12212,6 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.1",
@@ -12531,7 +12482,6 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/immutable": {
@@ -16834,6 +16784,12 @@
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
"license": "BSD-3-Clause"
},
+ "node_modules/js-md5": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
+ "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==",
+ "license": "MIT"
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -17080,7 +17036,6 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
"integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
- "dev": true,
"license": "(MIT OR GPL-3.0-or-later)",
"dependencies": {
"lie": "~3.3.0",
@@ -17093,14 +17048,12 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
@@ -17116,14 +17069,12 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
@@ -17215,7 +17166,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"immediate": "~3.0.5"
@@ -17519,6 +17469,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/lookup-closest-locale": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz",
+ "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==",
+ "license": "MIT"
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -18542,7 +18498,6 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dev": true,
"license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
@@ -18563,14 +18518,12 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
@@ -22110,7 +22063,6 @@
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
- "dev": true,
"license": "(MIT AND Zlib)"
},
"node_modules/papaparse": {
@@ -24019,7 +23971,6 @@
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
@@ -25331,6 +25282,51 @@
"scratch-render-fonts": "^1.0.0"
}
},
+ "node_modules/scratch-parser": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.2.1.tgz",
+ "integrity": "sha512-O9acef/B5MAQSB6PrEGKtbmEL1AOVZf4mYZnR0sNlzRvqqaEd+fZDL5SM7E9uQP09dIghefrm6/xmgzQIJP9Wg==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "ajv": "^6.3.0",
+ "jszip": "^3.1.5",
+ "pify": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/scratch-parser/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/scratch-parser/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "license": "MIT"
+ },
+ "node_modules/scratch-parser/node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/scratch-render": {
"version": "1.2.81",
"resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-1.2.81.tgz",
@@ -25363,6 +25359,17 @@
"resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
"integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q=="
},
+ "node_modules/scratch-sb1-converter": {
+ "version": "1.0.314",
+ "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-1.0.314.tgz",
+ "integrity": "sha512-+pZeXMjP98qC2Av0ASflROkGGvS0jw4k5qlpWu/5beQfZ9WaJ9MrLJN99XzHYB59MWYBy3N78MCJuko3sZUAhQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "js-md5": "^0.7.3",
+ "minilog": "^3.1.0",
+ "text-encoding": "^0.7.0"
+ }
+ },
"node_modules/scratch-semantic-release-config": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/scratch-semantic-release-config/-/scratch-semantic-release-config-1.0.16.tgz",
@@ -25382,8 +25389,19 @@
}
},
"node_modules/scratch-storage": {
- "resolved": "../scratch-storage",
- "link": true
+ "name": "@codioedu/scratch-storage",
+ "version": "3.0.9",
+ "resolved": "git+ssh://git@github.com/codio/scratch-storage.git#497c523c0258bd9661de5d2010224257ae61f4d7",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "arraybuffer-loader": "^1.0.3",
+ "base64-js": "^1.3.0",
+ "cross-fetch": "^4.0.0",
+ "fastestsmallesttextencoderdecoder": "^1.0.7",
+ "js-md5": "^0.7.3",
+ "minilog": "^3.1.0"
+ }
},
"node_modules/scratch-svg-renderer": {
"version": "2.5.30",
@@ -25403,9 +25421,71 @@
"scratch-render-fonts": "^1.0.0"
}
},
+ "node_modules/scratch-translate-extension-languages": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-1.0.7.tgz",
+ "integrity": "sha512-6+bQU9iVYv23T8J0SjpV6MTugm0y8myh/4DPgu1BGfccysdkaWzu3MkNGQyQRUlbqAiW9wM7ctfv3USPEkzTgg==",
+ "license": "BSD-3-Clause"
+ },
"node_modules/scratch-vm": {
- "resolved": "../scratch-vm",
- "link": true
+ "name": "@codioedu/scratch-vm",
+ "version": "4.8.59",
+ "resolved": "git+ssh://git@github.com/codio/scratch-vm.git#c0130afa7c64c6eba0bb2f8399da5441fb76922a",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@vernier/godirect": "^1.5.0",
+ "arraybuffer-loader": "^1.0.6",
+ "atob": "^2.1.2",
+ "btoa": "^1.2.1",
+ "canvas-toBlob": "^1.0.0",
+ "decode-html": "^2.0.0",
+ "diff-match-patch": "^1.0.4",
+ "format-message": "^6.2.1",
+ "htmlparser2": "^3.10.0",
+ "immutable": "^3.8.1",
+ "jszip": "^3.1.5",
+ "minilog": "^3.1.0",
+ "scratch-audio": "^1.0.6",
+ "scratch-parser": "^5.1.1",
+ "scratch-render": "^1.0.232",
+ "scratch-sb1-converter": "^1.0.0",
+ "scratch-storage": "codio/scratch-storage#16210_fixes",
+ "scratch-svg-renderer": "2.5.26",
+ "scratch-translate-extension-languages": "^1.0.0",
+ "text-encoding": "^0.7.0",
+ "uuid": "^8.3.2",
+ "web-worker": "^1.3.0"
+ },
+ "peerDependencies": {
+ "scratch-svg-renderer": "^0.2.0-prerelease"
+ }
+ },
+ "node_modules/scratch-vm/node_modules/scratch-svg-renderer": {
+ "version": "2.5.26",
+ "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-2.5.26.tgz",
+ "integrity": "sha512-MIPwp2evZ3Fe3Qm0fVDsOdGvlP6qdc/xrGC4KLqY4kHn1RhKDOFXYID1JesL4cUNpKXyxsVTn/qsQFQCp6PNUQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "base64-js": "^1.2.1",
+ "base64-loader": "^1.0.0",
+ "css-tree": "^1.1.3",
+ "fastestsmallesttextencoderdecoder": "^1.0.22",
+ "isomorphic-dompurify": "^2.4.0",
+ "minilog": "^3.1.0",
+ "transformation-matrix": "^1.15.0"
+ },
+ "peerDependencies": {
+ "scratch-render-fonts": "^1.0.0"
+ }
+ },
+ "node_modules/scratch-vm/node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
},
"node_modules/scratch-webpack-configuration": {
"version": "1.5.1",
@@ -25889,7 +25969,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
- "dev": true,
"license": "MIT"
},
"node_modules/setprototypeof": {
@@ -26995,7 +27074,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
@@ -27814,6 +27892,13 @@
"semver": "bin/semver"
}
},
+ "node_modules/text-encoding": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz",
+ "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==",
+ "deprecated": "no longer maintained",
+ "license": "(Unlicense OR Apache-2.0)"
+ },
"node_modules/text-extensions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
@@ -28059,7 +28144,6 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true,
"license": "MIT"
},
"node_modules/transformation-matrix": {
@@ -29102,6 +29186,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/web-worker": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz",
+ "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==",
+ "license": "Apache-2.0"
+ },
"node_modules/webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
diff --git a/package.json b/package.json
index 46214956c89..7cb7d19b157 100644
--- a/package.json
+++ b/package.json
@@ -90,9 +90,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
+ "scratch-storage": "codio/scratch-storage#16210_fixes",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
+ "scratch-vm": "codio/scratch-vm#16210_fixes",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
From 4ee29c67cf403fc342e7c22667c7545c3565e05e Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Tue, 19 Nov 2024 16:26:08 +0000
Subject: [PATCH 3/8] chore: fix readme
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 1c787a6409d..be050a4b69d 100644
--- a/README.md
+++ b/README.md
@@ -308,5 +308,5 @@ resource development efforts. Donations of any size are appreciated. Thank you!
## Codio
Added `codio-client.js` link to `index.ejs`
WARNING: The build takes too much resources!!!
-Build minified client with `export NODE_OPTIONS=--max-old-space-size=4000 export NODE_ENV=production npm run build`
+Build minified client with `NODE_OPTIONS=--max-old-space-size=4000 NODE_ENV=production npm run build`
Upload to S3 `./s3-upload.sh "s3_assets_access_key" "s3_assets_access_secret"`
From 5de6c1204d88714614a6d5c8d016bb4f04a11b9f Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Thu, 21 Nov 2024 11:30:21 +0000
Subject: [PATCH 4/8] fix: use scratch-storage built files
---
README.md | 2 +-
webpack.config.js | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/README.md b/README.md
index be050a4b69d..b8ba3466143 100644
--- a/README.md
+++ b/README.md
@@ -308,5 +308,5 @@ resource development efforts. Donations of any size are appreciated. Thank you!
## Codio
Added `codio-client.js` link to `index.ejs`
WARNING: The build takes too much resources!!!
-Build minified client with `NODE_OPTIONS=--max-old-space-size=4000 NODE_ENV=production npm run build`
+Build minified client with `NODE_ENV=production npm run build`
Upload to S3 `./s3-upload.sh "s3_assets_access_key" "s3_assets_access_secret"`
diff --git a/webpack.config.js b/webpack.config.js
index f8cf3a70b43..08121b5f4a9 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -60,13 +60,13 @@ const baseConfig = new ScratchWebpackConfigBuilder(
force: true
},
{
- context: 'node_modules/scratch-vm/dist/web',
- from: 'extension-worker.{js,js.map}',
- noErrorOnMissing: true
+ context: 'node_modules/scratch-storage/dist/web/chunks',
+ from: '*.{js,js.map}',
+ to: 'chunks',
},
{
- context: 'node_modules/scratch-storage/dist/web/',
- from: '**/*',
+ context: 'node_modules/scratch-vm/dist/web',
+ from: 'extension-worker.{js,js.map}',
noErrorOnMissing: true
}
]
From ed08c3cab117e96c93ef9c0052c8193a596356d8 Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Fri, 22 Nov 2024 14:38:55 +0000
Subject: [PATCH 5/8] chore: try local build
---
README.md | 6 +
package-lock.json | 452 ++++++++++++++++++++++------------------------
package.json | 6 +-
webpack.config.js | 13 +-
4 files changed, 238 insertions(+), 239 deletions(-)
diff --git a/README.md b/README.md
index b8ba3466143..16ecfa08025 100644
--- a/README.md
+++ b/README.md
@@ -310,3 +310,9 @@ Added `codio-client.js` link to `index.ejs`
WARNING: The build takes too much resources!!!
Build minified client with `NODE_ENV=production npm run build`
Upload to S3 `./s3-upload.sh "s3_assets_access_key" "s3_assets_access_secret"`
+
+"scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
+
+"scratch-storage": "^3.0.0",
+
+"scratch-vm": "codio/scratch-vm#16210_fixes",
diff --git a/package-lock.json b/package-lock.json
index 195e5bc4ad9..2a8fd97cc63 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -67,9 +67,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "codio/scratch-storage#16210_fixes",
+ "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "codio/scratch-vm#16210_fixes",
+ "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
@@ -112,7 +112,7 @@
"redux-mock-store": "1.5.5",
"rimraf": "2.7.1",
"scratch-semantic-release-config": "1.0.16",
- "scratch-webpack-configuration": "1.5.1",
+ "scratch-webpack-configuration": "1.6.0",
"selenium-webdriver": "3.6.0",
"semantic-release": "19.0.5",
"stream-browserify": "3.0.0",
@@ -128,6 +128,117 @@
"react-dom": "^16.0.0"
}
},
+ "../scratch-storage": {
+ "name": "@codioedu/scratch-storage",
+ "version": "3.0.9",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "arraybuffer-loader": "^1.0.3",
+ "base64-js": "^1.3.0",
+ "cross-fetch": "^4.0.0",
+ "fastestsmallesttextencoderdecoder": "^1.0.7",
+ "js-md5": "^0.7.3",
+ "minilog": "^3.1.0"
+ },
+ "devDependencies": {
+ "@babel/core": "7.26.0",
+ "@babel/plugin-transform-runtime": "7.25.9",
+ "@babel/polyfill": "7.12.1",
+ "@babel/preset-env": "7.26.0",
+ "@commitlint/cli": "18.6.1",
+ "@commitlint/config-conventional": "18.6.3",
+ "@commitlint/travis-cli": "8.3.6",
+ "@types/jest": "29.5.14",
+ "@typescript-eslint/eslint-plugin": "7.18.0",
+ "babel-loader": "9.2.1",
+ "buffer": "6.0.3",
+ "eslint": "8.57.1",
+ "eslint-config-scratch": "9.0.9",
+ "eslint-plugin-jest": "27.9.0",
+ "eslint-plugin-react": "7.37.2",
+ "file-loader": "6.2.0",
+ "husky": "8.0.3",
+ "jest": "29.7.0",
+ "json": "^9.0.4",
+ "rimraf": "6.0.1",
+ "scratch-semantic-release-config": "1.0.16",
+ "scratch-webpack-configuration": "1.6.0",
+ "semantic-release": "19.0.5",
+ "ts-jest": "29.2.5",
+ "ts-jest-mock-import-meta": "1.2.0",
+ "ts-loader": "9.5.1",
+ "webpack": "5.95.0",
+ "webpack-cli": "5.1.4"
+ }
+ },
+ "../scratch-vm": {
+ "name": "@codioedu/scratch-vm",
+ "version": "4.8.59",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@vernier/godirect": "^1.5.0",
+ "arraybuffer-loader": "^1.0.6",
+ "atob": "^2.1.2",
+ "btoa": "^1.2.1",
+ "canvas-toBlob": "^1.0.0",
+ "decode-html": "^2.0.0",
+ "diff-match-patch": "^1.0.4",
+ "format-message": "^6.2.1",
+ "htmlparser2": "^3.10.0",
+ "immutable": "^3.8.1",
+ "jszip": "^3.1.5",
+ "minilog": "^3.1.0",
+ "scratch-audio": "^1.0.6",
+ "scratch-parser": "^5.1.1",
+ "scratch-render": "^1.0.232",
+ "scratch-sb1-converter": "^1.0.0",
+ "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
+ "scratch-svg-renderer": "2.5.26",
+ "scratch-translate-extension-languages": "^1.0.0",
+ "text-encoding": "^0.7.0",
+ "uuid": "^8.3.2",
+ "web-worker": "^1.3.0"
+ },
+ "devDependencies": {
+ "@babel/core": "7.26.0",
+ "@babel/eslint-parser": "7.25.9",
+ "@babel/preset-env": "7.26.0",
+ "@commitlint/cli": "17.8.1",
+ "@commitlint/config-conventional": "17.8.1",
+ "adm-zip": "0.4.11",
+ "babel-loader": "9.2.1",
+ "callsite": "1.0.0",
+ "copy-webpack-plugin": "4.6.0",
+ "docdash": "1.2.0",
+ "eslint": "8.57.1",
+ "eslint-config-scratch": "9.0.9",
+ "expose-loader": "1.0.3",
+ "file-loader": "6.2.0",
+ "format-message-cli": "6.2.4",
+ "husky": "8.0.3",
+ "in-publish": "2.0.1",
+ "js-md5": "0.7.3",
+ "jsdoc": "3.6.11",
+ "json": "^9.0.4",
+ "pngjs": "3.4.0",
+ "scratch-blocks": "1.1.206",
+ "scratch-l10n": "3.18.357",
+ "scratch-render-fonts": "1.0.118",
+ "scratch-semantic-release-config": "1.0.16",
+ "scratch-webpack-configuration": "1.6.0",
+ "script-loader": "0.7.2",
+ "semantic-release": "19.0.5",
+ "stats.js": "0.17.0",
+ "tap": "16.3.10",
+ "webpack": "5.95.0",
+ "webpack-cli": "4.10.0",
+ "webpack-dev-server": "3.11.3"
+ },
+ "peerDependencies": {
+ "scratch-svg-renderer": "^0.2.0-prerelease"
+ }
+ },
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
@@ -3639,12 +3750,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/@vernier/godirect": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.8.3.tgz",
- "integrity": "sha512-poS0LZ3jAjH36gIAI0aNBBdsGGbmt11VFbLO+eGDJ/JDSPtMu1iUStvOi0UM/ZH6Jyh34SjVd8Cnxu/Wmcb8iQ==",
- "license": "BSD-3-Clause"
- },
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -4600,6 +4705,7 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true,
"license": "(MIT OR Apache-2.0)",
"bin": {
"atob": "bin/atob.js"
@@ -5965,18 +6071,6 @@
"node-int64": "^0.4.0"
}
},
- "node_modules/btoa": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
- "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
- "license": "(MIT OR Apache-2.0)",
- "bin": {
- "btoa": "bin/btoa.js"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/buffer": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
@@ -6313,12 +6407,6 @@
],
"license": "CC-BY-4.0"
},
- "node_modules/canvas-toBlob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz",
- "integrity": "sha512-oU5bawygt/Nef9F+C49eTFmzXzz6yKdGqn6J1wn/LZQF5ulnnZVm0KIZzik85I6tjCbZFH6aa47j4bU2tkHxRw==",
- "license": "MIT"
- },
"node_modules/capture-exit": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
@@ -7364,6 +7452,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
"integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"node-fetch": "^2.6.12"
@@ -7835,12 +7924,6 @@
"integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
"license": "MIT"
},
- "node_modules/decode-html": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz",
- "integrity": "sha512-lVJ+EBozhAXA2nSQG+xAgcD0P5K3uejnIIvM09uoQfS8AALkQ+HhHcEUvKovXi0EIpIZWjm0y8X7ULjaJpgY9w==",
- "license": "MIT"
- },
"node_modules/decode-uri-component": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
@@ -8305,12 +8388,6 @@
"node": ">=0.3.1"
}
},
- "node_modules/diff-match-patch": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
- "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==",
- "license": "Apache-2.0"
- },
"node_modules/diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
@@ -8399,6 +8476,7 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.0",
@@ -8425,12 +8503,14 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+ "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"domelementtype": "1"
@@ -8446,6 +8526,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==",
+ "dev": true,
"dependencies": {
"dom-serializer": "0",
"domelementtype": "1"
@@ -8689,6 +8770,7 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+ "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/env-ci": {
@@ -10701,40 +10783,6 @@
"node": ">= 0.12"
}
},
- "node_modules/format-message": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.4.tgz",
- "integrity": "sha512-/24zYeSRy2ZlEO2OIctm7jOHvMpoWf+uhqFCaqqyZKi1C229zAAy2E5vF4lSSaMH0a2kewPrOzq6xN4Yy7cQrw==",
- "license": "MIT",
- "dependencies": {
- "format-message-formats": "^6.2.4",
- "format-message-interpret": "^6.2.4",
- "format-message-parse": "^6.2.4",
- "lookup-closest-locale": "^6.2.0"
- }
- },
- "node_modules/format-message-formats": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.4.tgz",
- "integrity": "sha512-smT/fAqBLqusWfWCKRAx6QBDAAbmYznWsIyTyk66COmvwt2Byiqd7SJe2ma9a5oV0kwRaOJpN/F4lr4YK/n6qQ==",
- "license": "MIT"
- },
- "node_modules/format-message-interpret": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.4.tgz",
- "integrity": "sha512-dRvz9mXhITApyOtfuFEb/XqvCe1u6RMkQW49UJHXS8w2S8cAHCqq5LNDFK+QK6XVzcofROycLb/k1uybTAKt2w==",
- "license": "MIT",
- "dependencies": {
- "format-message-formats": "^6.2.4",
- "lookup-closest-locale": "^6.2.0"
- }
- },
- "node_modules/format-message-parse": {
- "version": "6.2.4",
- "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.4.tgz",
- "integrity": "sha512-k7WqXkEzgXkW4wkHdS6Cv2Ou0rIFtiDelZjgoe1saW4p7FT7zS8OeAUpAekhormqzpeecR97e4vBft1zMsfFOQ==",
- "license": "MIT"
- },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -12212,6 +12260,7 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.1",
@@ -12482,6 +12531,7 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/immutable": {
@@ -16784,12 +16834,6 @@
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
"license": "BSD-3-Clause"
},
- "node_modules/js-md5": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
- "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==",
- "license": "MIT"
- },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -17036,6 +17080,7 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
"integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "dev": true,
"license": "(MIT OR GPL-3.0-or-later)",
"dependencies": {
"lie": "~3.3.0",
@@ -17048,12 +17093,14 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
@@ -17069,12 +17116,14 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
@@ -17166,6 +17215,7 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"immediate": "~3.0.5"
@@ -17469,12 +17519,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/lookup-closest-locale": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz",
- "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==",
- "license": "MIT"
- },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -18498,6 +18542,7 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
@@ -18518,12 +18563,14 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
@@ -22063,6 +22110,7 @@
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true,
"license": "(MIT AND Zlib)"
},
"node_modules/papaparse": {
@@ -23971,6 +24019,7 @@
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
@@ -25282,51 +25331,6 @@
"scratch-render-fonts": "^1.0.0"
}
},
- "node_modules/scratch-parser": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.2.1.tgz",
- "integrity": "sha512-O9acef/B5MAQSB6PrEGKtbmEL1AOVZf4mYZnR0sNlzRvqqaEd+fZDL5SM7E9uQP09dIghefrm6/xmgzQIJP9Wg==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "ajv": "^6.3.0",
- "jszip": "^3.1.5",
- "pify": "^4.0.1"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/scratch-parser/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/scratch-parser/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "license": "MIT"
- },
- "node_modules/scratch-parser/node_modules/pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/scratch-render": {
"version": "1.2.81",
"resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-1.2.81.tgz",
@@ -25359,17 +25363,6 @@
"resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
"integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q=="
},
- "node_modules/scratch-sb1-converter": {
- "version": "1.0.314",
- "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-1.0.314.tgz",
- "integrity": "sha512-+pZeXMjP98qC2Av0ASflROkGGvS0jw4k5qlpWu/5beQfZ9WaJ9MrLJN99XzHYB59MWYBy3N78MCJuko3sZUAhQ==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "js-md5": "^0.7.3",
- "minilog": "^3.1.0",
- "text-encoding": "^0.7.0"
- }
- },
"node_modules/scratch-semantic-release-config": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/scratch-semantic-release-config/-/scratch-semantic-release-config-1.0.16.tgz",
@@ -25389,19 +25382,8 @@
}
},
"node_modules/scratch-storage": {
- "name": "@codioedu/scratch-storage",
- "version": "3.0.9",
- "resolved": "git+ssh://git@github.com/codio/scratch-storage.git#497c523c0258bd9661de5d2010224257ae61f4d7",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/runtime": "^7.21.0",
- "arraybuffer-loader": "^1.0.3",
- "base64-js": "^1.3.0",
- "cross-fetch": "^4.0.0",
- "fastestsmallesttextencoderdecoder": "^1.0.7",
- "js-md5": "^0.7.3",
- "minilog": "^3.1.0"
- }
+ "resolved": "../scratch-storage",
+ "link": true
},
"node_modules/scratch-svg-renderer": {
"version": "2.5.30",
@@ -25421,76 +25403,14 @@
"scratch-render-fonts": "^1.0.0"
}
},
- "node_modules/scratch-translate-extension-languages": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-1.0.7.tgz",
- "integrity": "sha512-6+bQU9iVYv23T8J0SjpV6MTugm0y8myh/4DPgu1BGfccysdkaWzu3MkNGQyQRUlbqAiW9wM7ctfv3USPEkzTgg==",
- "license": "BSD-3-Clause"
- },
"node_modules/scratch-vm": {
- "name": "@codioedu/scratch-vm",
- "version": "4.8.59",
- "resolved": "git+ssh://git@github.com/codio/scratch-vm.git#c0130afa7c64c6eba0bb2f8399da5441fb76922a",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@vernier/godirect": "^1.5.0",
- "arraybuffer-loader": "^1.0.6",
- "atob": "^2.1.2",
- "btoa": "^1.2.1",
- "canvas-toBlob": "^1.0.0",
- "decode-html": "^2.0.0",
- "diff-match-patch": "^1.0.4",
- "format-message": "^6.2.1",
- "htmlparser2": "^3.10.0",
- "immutable": "^3.8.1",
- "jszip": "^3.1.5",
- "minilog": "^3.1.0",
- "scratch-audio": "^1.0.6",
- "scratch-parser": "^5.1.1",
- "scratch-render": "^1.0.232",
- "scratch-sb1-converter": "^1.0.0",
- "scratch-storage": "codio/scratch-storage#16210_fixes",
- "scratch-svg-renderer": "2.5.26",
- "scratch-translate-extension-languages": "^1.0.0",
- "text-encoding": "^0.7.0",
- "uuid": "^8.3.2",
- "web-worker": "^1.3.0"
- },
- "peerDependencies": {
- "scratch-svg-renderer": "^0.2.0-prerelease"
- }
- },
- "node_modules/scratch-vm/node_modules/scratch-svg-renderer": {
- "version": "2.5.26",
- "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-2.5.26.tgz",
- "integrity": "sha512-MIPwp2evZ3Fe3Qm0fVDsOdGvlP6qdc/xrGC4KLqY4kHn1RhKDOFXYID1JesL4cUNpKXyxsVTn/qsQFQCp6PNUQ==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "base64-js": "^1.2.1",
- "base64-loader": "^1.0.0",
- "css-tree": "^1.1.3",
- "fastestsmallesttextencoderdecoder": "^1.0.22",
- "isomorphic-dompurify": "^2.4.0",
- "minilog": "^3.1.0",
- "transformation-matrix": "^1.15.0"
- },
- "peerDependencies": {
- "scratch-render-fonts": "^1.0.0"
- }
- },
- "node_modules/scratch-vm/node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
- "license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
- }
+ "resolved": "../scratch-vm",
+ "link": true
},
"node_modules/scratch-webpack-configuration": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/scratch-webpack-configuration/-/scratch-webpack-configuration-1.5.1.tgz",
- "integrity": "sha512-O8RbcgjbNnkMrb7Q34NDqs8Wc9vhuRDWjgOVuMg25h8IgAC7ED04wnHL4qFH3l1+Zf8sx5pzbJMHZFdWVq4ktA==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/scratch-webpack-configuration/-/scratch-webpack-configuration-1.6.0.tgz",
+ "integrity": "sha512-RHxQg99UwmFSdHFYQ8xPzqmUo5YIoIiUOttewSrc1GcXZu67DFtP7Fyod8e5PqoN0AsYVrkGEXX8yNmTZ2cMdw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -25507,6 +25427,7 @@
"postcss-loader": "4.3.0",
"postcss-simple-vars": "^5.0.1",
"style-loader": "4.0.0",
+ "ts-loader": "^9.5.1",
"url-loader": "4.1.1",
"webpack": "^5.90.3"
}
@@ -25969,6 +25890,7 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/setprototypeof": {
@@ -27074,6 +26996,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
@@ -27892,13 +27815,6 @@
"semver": "bin/semver"
}
},
- "node_modules/text-encoding": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz",
- "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==",
- "deprecated": "no longer maintained",
- "license": "(Unlicense OR Apache-2.0)"
- },
"node_modules/text-extensions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
@@ -28144,6 +28060,7 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/transformation-matrix": {
@@ -28249,6 +28166,79 @@
"node": ">=0.10.0"
}
},
+ "node_modules/ts-loader": {
+ "version": "9.5.1",
+ "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz",
+ "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "enhanced-resolve": "^5.0.0",
+ "micromatch": "^4.0.0",
+ "semver": "^7.3.4",
+ "source-map": "^0.7.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "typescript": "*",
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/ts-loader/node_modules/enhanced-resolve": {
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+ "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/ts-loader/node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "license": "ISC",
+ "peer": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ts-loader/node_modules/source-map": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/ts-loader/node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/ts-node": {
"version": "10.9.2",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
@@ -29186,12 +29176,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/web-worker": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz",
- "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==",
- "license": "Apache-2.0"
- },
"node_modules/webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
diff --git a/package.json b/package.json
index 7cb7d19b157..33d6f6a9b79 100644
--- a/package.json
+++ b/package.json
@@ -90,9 +90,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "codio/scratch-storage#16210_fixes",
+ "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "codio/scratch-vm#16210_fixes",
+ "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
@@ -139,7 +139,7 @@
"redux-mock-store": "1.5.5",
"rimraf": "2.7.1",
"scratch-semantic-release-config": "1.0.16",
- "scratch-webpack-configuration": "1.5.1",
+ "scratch-webpack-configuration": "1.6.0",
"selenium-webdriver": "3.6.0",
"semantic-release": "19.0.5",
"stream-browserify": "3.0.0",
diff --git a/webpack.config.js b/webpack.config.js
index 08121b5f4a9..c651764c555 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -13,7 +13,9 @@ const ScratchWebpackConfigBuilder = require('scratch-webpack-configuration');
const baseConfig = new ScratchWebpackConfigBuilder(
{
rootPath: path.resolve(__dirname),
- enableReact: true
+ enableReact: true,
+ shouldSplitChunks: false,
+ publicPath: ''
})
.setTarget('browserslist')
.merge({
@@ -88,7 +90,14 @@ if (!process.env.CI) {
key: fs.readFileSync('/home/user/codio/new-generation/certs/codio.test.key'),
cert: fs.readFileSync('/home/user/codio/new-generation/certs/codio.test.crt')
}
- }
+ },
+ devMiddleware: {
+ // index: true,
+ // mimeTypes: { phtml: 'text/html' },
+ // publicPath: '/app',
+ // serverSideRender: true,
+ // writeToDisk: true,
+ },
}
});
}
From 299d42d649977b656cef2932d95d60a50a9f5dc2 Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Fri, 22 Nov 2024 15:08:50 +0000
Subject: [PATCH 6/8] chore: bump storage, vm versions
---
package-lock.json | 370 ++++++++++++++++++++++++++++------------------
package.json | 4 +-
webpack.config.js | 9 +-
3 files changed, 233 insertions(+), 150 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 2a8fd97cc63..7a6b4fc85d6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -67,9 +67,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
+ "scratch-storage": "codio/scratch-storage#16210_fixes",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
+ "scratch-vm": "codio/scratch-vm#16210_fixes",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
@@ -128,117 +128,6 @@
"react-dom": "^16.0.0"
}
},
- "../scratch-storage": {
- "name": "@codioedu/scratch-storage",
- "version": "3.0.9",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/runtime": "^7.21.0",
- "arraybuffer-loader": "^1.0.3",
- "base64-js": "^1.3.0",
- "cross-fetch": "^4.0.0",
- "fastestsmallesttextencoderdecoder": "^1.0.7",
- "js-md5": "^0.7.3",
- "minilog": "^3.1.0"
- },
- "devDependencies": {
- "@babel/core": "7.26.0",
- "@babel/plugin-transform-runtime": "7.25.9",
- "@babel/polyfill": "7.12.1",
- "@babel/preset-env": "7.26.0",
- "@commitlint/cli": "18.6.1",
- "@commitlint/config-conventional": "18.6.3",
- "@commitlint/travis-cli": "8.3.6",
- "@types/jest": "29.5.14",
- "@typescript-eslint/eslint-plugin": "7.18.0",
- "babel-loader": "9.2.1",
- "buffer": "6.0.3",
- "eslint": "8.57.1",
- "eslint-config-scratch": "9.0.9",
- "eslint-plugin-jest": "27.9.0",
- "eslint-plugin-react": "7.37.2",
- "file-loader": "6.2.0",
- "husky": "8.0.3",
- "jest": "29.7.0",
- "json": "^9.0.4",
- "rimraf": "6.0.1",
- "scratch-semantic-release-config": "1.0.16",
- "scratch-webpack-configuration": "1.6.0",
- "semantic-release": "19.0.5",
- "ts-jest": "29.2.5",
- "ts-jest-mock-import-meta": "1.2.0",
- "ts-loader": "9.5.1",
- "webpack": "5.95.0",
- "webpack-cli": "5.1.4"
- }
- },
- "../scratch-vm": {
- "name": "@codioedu/scratch-vm",
- "version": "4.8.59",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@vernier/godirect": "^1.5.0",
- "arraybuffer-loader": "^1.0.6",
- "atob": "^2.1.2",
- "btoa": "^1.2.1",
- "canvas-toBlob": "^1.0.0",
- "decode-html": "^2.0.0",
- "diff-match-patch": "^1.0.4",
- "format-message": "^6.2.1",
- "htmlparser2": "^3.10.0",
- "immutable": "^3.8.1",
- "jszip": "^3.1.5",
- "minilog": "^3.1.0",
- "scratch-audio": "^1.0.6",
- "scratch-parser": "^5.1.1",
- "scratch-render": "^1.0.232",
- "scratch-sb1-converter": "^1.0.0",
- "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
- "scratch-svg-renderer": "2.5.26",
- "scratch-translate-extension-languages": "^1.0.0",
- "text-encoding": "^0.7.0",
- "uuid": "^8.3.2",
- "web-worker": "^1.3.0"
- },
- "devDependencies": {
- "@babel/core": "7.26.0",
- "@babel/eslint-parser": "7.25.9",
- "@babel/preset-env": "7.26.0",
- "@commitlint/cli": "17.8.1",
- "@commitlint/config-conventional": "17.8.1",
- "adm-zip": "0.4.11",
- "babel-loader": "9.2.1",
- "callsite": "1.0.0",
- "copy-webpack-plugin": "4.6.0",
- "docdash": "1.2.0",
- "eslint": "8.57.1",
- "eslint-config-scratch": "9.0.9",
- "expose-loader": "1.0.3",
- "file-loader": "6.2.0",
- "format-message-cli": "6.2.4",
- "husky": "8.0.3",
- "in-publish": "2.0.1",
- "js-md5": "0.7.3",
- "jsdoc": "3.6.11",
- "json": "^9.0.4",
- "pngjs": "3.4.0",
- "scratch-blocks": "1.1.206",
- "scratch-l10n": "3.18.357",
- "scratch-render-fonts": "1.0.118",
- "scratch-semantic-release-config": "1.0.16",
- "scratch-webpack-configuration": "1.6.0",
- "script-loader": "0.7.2",
- "semantic-release": "19.0.5",
- "stats.js": "0.17.0",
- "tap": "16.3.10",
- "webpack": "5.95.0",
- "webpack-cli": "4.10.0",
- "webpack-dev-server": "3.11.3"
- },
- "peerDependencies": {
- "scratch-svg-renderer": "^0.2.0-prerelease"
- }
- },
"node_modules/@ampproject/remapping": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
@@ -3750,6 +3639,12 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/@vernier/godirect": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/@vernier/godirect/-/godirect-1.8.3.tgz",
+ "integrity": "sha512-poS0LZ3jAjH36gIAI0aNBBdsGGbmt11VFbLO+eGDJ/JDSPtMu1iUStvOi0UM/ZH6Jyh34SjVd8Cnxu/Wmcb8iQ==",
+ "license": "BSD-3-Clause"
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.12.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
@@ -4705,7 +4600,6 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true,
"license": "(MIT OR Apache-2.0)",
"bin": {
"atob": "bin/atob.js"
@@ -6071,6 +5965,18 @@
"node-int64": "^0.4.0"
}
},
+ "node_modules/btoa": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz",
+ "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==",
+ "license": "(MIT OR Apache-2.0)",
+ "bin": {
+ "btoa": "bin/btoa.js"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
"node_modules/buffer": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
@@ -6407,6 +6313,12 @@
],
"license": "CC-BY-4.0"
},
+ "node_modules/canvas-toBlob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/canvas-toBlob/-/canvas-toBlob-1.0.0.tgz",
+ "integrity": "sha512-oU5bawygt/Nef9F+C49eTFmzXzz6yKdGqn6J1wn/LZQF5ulnnZVm0KIZzik85I6tjCbZFH6aa47j4bU2tkHxRw==",
+ "license": "MIT"
+ },
"node_modules/capture-exit": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
@@ -7452,7 +7364,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
"integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
"license": "MIT",
"dependencies": {
"node-fetch": "^2.6.12"
@@ -7924,6 +7835,12 @@
"integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
"license": "MIT"
},
+ "node_modules/decode-html": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/decode-html/-/decode-html-2.0.0.tgz",
+ "integrity": "sha512-lVJ+EBozhAXA2nSQG+xAgcD0P5K3uejnIIvM09uoQfS8AALkQ+HhHcEUvKovXi0EIpIZWjm0y8X7ULjaJpgY9w==",
+ "license": "MIT"
+ },
"node_modules/decode-uri-component": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz",
@@ -8388,6 +8305,12 @@
"node": ">=0.3.1"
}
},
+ "node_modules/diff-match-patch": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz",
+ "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==",
+ "license": "Apache-2.0"
+ },
"node_modules/diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
@@ -8476,7 +8399,6 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.0",
@@ -8503,14 +8425,12 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
- "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"domelementtype": "1"
@@ -8526,7 +8446,6 @@
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==",
- "dev": true,
"dependencies": {
"dom-serializer": "0",
"domelementtype": "1"
@@ -8770,7 +8689,6 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
- "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/env-ci": {
@@ -10783,6 +10701,40 @@
"node": ">= 0.12"
}
},
+ "node_modules/format-message": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message/-/format-message-6.2.4.tgz",
+ "integrity": "sha512-/24zYeSRy2ZlEO2OIctm7jOHvMpoWf+uhqFCaqqyZKi1C229zAAy2E5vF4lSSaMH0a2kewPrOzq6xN4Yy7cQrw==",
+ "license": "MIT",
+ "dependencies": {
+ "format-message-formats": "^6.2.4",
+ "format-message-interpret": "^6.2.4",
+ "format-message-parse": "^6.2.4",
+ "lookup-closest-locale": "^6.2.0"
+ }
+ },
+ "node_modules/format-message-formats": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message-formats/-/format-message-formats-6.2.4.tgz",
+ "integrity": "sha512-smT/fAqBLqusWfWCKRAx6QBDAAbmYznWsIyTyk66COmvwt2Byiqd7SJe2ma9a5oV0kwRaOJpN/F4lr4YK/n6qQ==",
+ "license": "MIT"
+ },
+ "node_modules/format-message-interpret": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message-interpret/-/format-message-interpret-6.2.4.tgz",
+ "integrity": "sha512-dRvz9mXhITApyOtfuFEb/XqvCe1u6RMkQW49UJHXS8w2S8cAHCqq5LNDFK+QK6XVzcofROycLb/k1uybTAKt2w==",
+ "license": "MIT",
+ "dependencies": {
+ "format-message-formats": "^6.2.4",
+ "lookup-closest-locale": "^6.2.0"
+ }
+ },
+ "node_modules/format-message-parse": {
+ "version": "6.2.4",
+ "resolved": "https://registry.npmjs.org/format-message-parse/-/format-message-parse-6.2.4.tgz",
+ "integrity": "sha512-k7WqXkEzgXkW4wkHdS6Cv2Ou0rIFtiDelZjgoe1saW4p7FT7zS8OeAUpAekhormqzpeecR97e4vBft1zMsfFOQ==",
+ "license": "MIT"
+ },
"node_modules/forwarded": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
@@ -12260,7 +12212,6 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"domelementtype": "^1.3.1",
@@ -12531,7 +12482,6 @@
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
"integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/immutable": {
@@ -16834,6 +16784,12 @@
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
"license": "BSD-3-Clause"
},
+ "node_modules/js-md5": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
+ "integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ==",
+ "license": "MIT"
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -17080,7 +17036,6 @@
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
"integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
- "dev": true,
"license": "(MIT OR GPL-3.0-or-later)",
"dependencies": {
"lie": "~3.3.0",
@@ -17093,14 +17048,12 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"core-util-is": "~1.0.0",
@@ -17116,14 +17069,12 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
"license": "MIT"
},
"node_modules/jszip/node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.1.0"
@@ -17215,7 +17166,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
"integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"immediate": "~3.0.5"
@@ -17519,6 +17469,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/lookup-closest-locale": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/lookup-closest-locale/-/lookup-closest-locale-6.2.0.tgz",
+ "integrity": "sha512-/c2kL+Vnp1jnV6K6RpDTHK3dgg0Tu2VVp+elEiJpjfS1UyY7AjOYHohRug6wT0OpoX2qFgNORndE9RqesfVxWQ==",
+ "license": "MIT"
+ },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -18542,7 +18498,6 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dev": true,
"license": "MIT",
"dependencies": {
"whatwg-url": "^5.0.0"
@@ -18563,14 +18518,12 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true,
"license": "BSD-2-Clause"
},
"node_modules/node-fetch/node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"tr46": "~0.0.3",
@@ -22110,7 +22063,6 @@
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
- "dev": true,
"license": "(MIT AND Zlib)"
},
"node_modules/papaparse": {
@@ -24019,7 +23971,6 @@
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
@@ -25331,6 +25282,51 @@
"scratch-render-fonts": "^1.0.0"
}
},
+ "node_modules/scratch-parser": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/scratch-parser/-/scratch-parser-5.2.1.tgz",
+ "integrity": "sha512-O9acef/B5MAQSB6PrEGKtbmEL1AOVZf4mYZnR0sNlzRvqqaEd+fZDL5SM7E9uQP09dIghefrm6/xmgzQIJP9Wg==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "ajv": "^6.3.0",
+ "jszip": "^3.1.5",
+ "pify": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/scratch-parser/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/scratch-parser/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "license": "MIT"
+ },
+ "node_modules/scratch-parser/node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/scratch-render": {
"version": "1.2.81",
"resolved": "https://registry.npmjs.org/scratch-render/-/scratch-render-1.2.81.tgz",
@@ -25363,6 +25359,17 @@
"resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz",
"integrity": "sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q=="
},
+ "node_modules/scratch-sb1-converter": {
+ "version": "1.0.319",
+ "resolved": "https://registry.npmjs.org/scratch-sb1-converter/-/scratch-sb1-converter-1.0.319.tgz",
+ "integrity": "sha512-llckYbxbpubOGSF+KNqMfVSsttxzyERuxqRCiKo7XZNrgWuIczM/Jo1PxgkER2oEKapqRNBBQ2+r1RBlm2TCfw==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "js-md5": "^0.7.3",
+ "minilog": "^3.1.0",
+ "text-encoding": "^0.7.0"
+ }
+ },
"node_modules/scratch-semantic-release-config": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/scratch-semantic-release-config/-/scratch-semantic-release-config-1.0.16.tgz",
@@ -25382,8 +25389,19 @@
}
},
"node_modules/scratch-storage": {
- "resolved": "../scratch-storage",
- "link": true
+ "name": "@codioedu/scratch-storage",
+ "version": "3.0.9",
+ "resolved": "git+ssh://git@github.com/codio/scratch-storage.git#2c937ada569018924c7efce38d9cf90bc891e20e",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/runtime": "^7.21.0",
+ "arraybuffer-loader": "^1.0.3",
+ "base64-js": "^1.3.0",
+ "cross-fetch": "^4.0.0",
+ "fastestsmallesttextencoderdecoder": "^1.0.7",
+ "js-md5": "^0.7.3",
+ "minilog": "^3.1.0"
+ }
},
"node_modules/scratch-svg-renderer": {
"version": "2.5.30",
@@ -25403,9 +25421,71 @@
"scratch-render-fonts": "^1.0.0"
}
},
+ "node_modules/scratch-translate-extension-languages": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/scratch-translate-extension-languages/-/scratch-translate-extension-languages-1.0.7.tgz",
+ "integrity": "sha512-6+bQU9iVYv23T8J0SjpV6MTugm0y8myh/4DPgu1BGfccysdkaWzu3MkNGQyQRUlbqAiW9wM7ctfv3USPEkzTgg==",
+ "license": "BSD-3-Clause"
+ },
"node_modules/scratch-vm": {
- "resolved": "../scratch-vm",
- "link": true
+ "name": "@codioedu/scratch-vm",
+ "version": "4.8.59",
+ "resolved": "git+ssh://git@github.com/codio/scratch-vm.git#16156db108433778362615407bd5a028df27f120",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@vernier/godirect": "^1.5.0",
+ "arraybuffer-loader": "^1.0.6",
+ "atob": "^2.1.2",
+ "btoa": "^1.2.1",
+ "canvas-toBlob": "^1.0.0",
+ "decode-html": "^2.0.0",
+ "diff-match-patch": "^1.0.4",
+ "format-message": "^6.2.1",
+ "htmlparser2": "^3.10.0",
+ "immutable": "^3.8.1",
+ "jszip": "^3.1.5",
+ "minilog": "^3.1.0",
+ "scratch-audio": "^1.0.6",
+ "scratch-parser": "^5.1.1",
+ "scratch-render": "^1.0.232",
+ "scratch-sb1-converter": "^1.0.0",
+ "scratch-storage": "codio/scratch-storage#16210_fixes",
+ "scratch-svg-renderer": "2.5.26",
+ "scratch-translate-extension-languages": "^1.0.0",
+ "text-encoding": "^0.7.0",
+ "uuid": "^8.3.2",
+ "web-worker": "^1.3.0"
+ },
+ "peerDependencies": {
+ "scratch-svg-renderer": "^0.2.0-prerelease"
+ }
+ },
+ "node_modules/scratch-vm/node_modules/scratch-svg-renderer": {
+ "version": "2.5.26",
+ "resolved": "https://registry.npmjs.org/scratch-svg-renderer/-/scratch-svg-renderer-2.5.26.tgz",
+ "integrity": "sha512-MIPwp2evZ3Fe3Qm0fVDsOdGvlP6qdc/xrGC4KLqY4kHn1RhKDOFXYID1JesL4cUNpKXyxsVTn/qsQFQCp6PNUQ==",
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "base64-js": "^1.2.1",
+ "base64-loader": "^1.0.0",
+ "css-tree": "^1.1.3",
+ "fastestsmallesttextencoderdecoder": "^1.0.22",
+ "isomorphic-dompurify": "^2.4.0",
+ "minilog": "^3.1.0",
+ "transformation-matrix": "^1.15.0"
+ },
+ "peerDependencies": {
+ "scratch-render-fonts": "^1.0.0"
+ }
+ },
+ "node_modules/scratch-vm/node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "license": "MIT",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
},
"node_modules/scratch-webpack-configuration": {
"version": "1.6.0",
@@ -25890,7 +25970,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
- "dev": true,
"license": "MIT"
},
"node_modules/setprototypeof": {
@@ -26996,7 +27075,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "~5.2.0"
@@ -27815,6 +27893,13 @@
"semver": "bin/semver"
}
},
+ "node_modules/text-encoding": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz",
+ "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==",
+ "deprecated": "no longer maintained",
+ "license": "(Unlicense OR Apache-2.0)"
+ },
"node_modules/text-extensions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz",
@@ -28060,7 +28145,6 @@
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true,
"license": "MIT"
},
"node_modules/transformation-matrix": {
@@ -29176,6 +29260,12 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/web-worker": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz",
+ "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==",
+ "license": "Apache-2.0"
+ },
"node_modules/webidl-conversions": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
diff --git a/package.json b/package.json
index 33d6f6a9b79..461dbd95e74 100644
--- a/package.json
+++ b/package.json
@@ -90,9 +90,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
+ "scratch-storage": "codio/scratch-storage#16210_fixes",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "file:/media/user/BigL/codio/scratch-vm",
+ "scratch-vm": "codio/scratch-vm#16210_fixes",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
diff --git a/webpack.config.js b/webpack.config.js
index c651764c555..1c9396efad2 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -90,14 +90,7 @@ if (!process.env.CI) {
key: fs.readFileSync('/home/user/codio/new-generation/certs/codio.test.key'),
cert: fs.readFileSync('/home/user/codio/new-generation/certs/codio.test.crt')
}
- },
- devMiddleware: {
- // index: true,
- // mimeTypes: { phtml: 'text/html' },
- // publicPath: '/app',
- // serverSideRender: true,
- // writeToDisk: true,
- },
+ }
}
});
}
From 87712514fcd553917ee9043bfa3194746fc124a5 Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Fri, 22 Nov 2024 15:49:25 +0000
Subject: [PATCH 7/8] chore: remove extra
---
README.md | 6 ------
1 file changed, 6 deletions(-)
diff --git a/README.md b/README.md
index 16ecfa08025..b8ba3466143 100644
--- a/README.md
+++ b/README.md
@@ -310,9 +310,3 @@ Added `codio-client.js` link to `index.ejs`
WARNING: The build takes too much resources!!!
Build minified client with `NODE_ENV=production npm run build`
Upload to S3 `./s3-upload.sh "s3_assets_access_key" "s3_assets_access_secret"`
-
-"scratch-storage": "file:/media/user/BigL/codio/scratch-storage",
-
-"scratch-storage": "^3.0.0",
-
-"scratch-vm": "codio/scratch-vm#16210_fixes",
From d51e32cb87d31f8449c8bc7a98c3ae180cd8723e Mon Sep 17 00:00:00 2001
From: Andrey Nikitin
Date: Wed, 27 Nov 2024 10:02:59 +0000
Subject: [PATCH 8/8] chore: bump storage, vm, lint happy
---
package-lock.json | 4 ++--
package.json | 4 ++--
webpack.config.js | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 7a6b4fc85d6..6de582b5f0d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -67,9 +67,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "codio/scratch-storage#16210_fixes",
+ "scratch-storage": "codio/scratch-storage#develop",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "codio/scratch-vm#16210_fixes",
+ "scratch-vm": "codio/scratch-vm#develop",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
diff --git a/package.json b/package.json
index 461dbd95e74..0eccb08c8ca 100644
--- a/package.json
+++ b/package.json
@@ -90,9 +90,9 @@
"scratch-paint": "^2.2.151",
"scratch-render": "^1.0.233",
"scratch-render-fonts": "^1.0.2",
- "scratch-storage": "codio/scratch-storage#16210_fixes",
+ "scratch-storage": "codio/scratch-storage#develop",
"scratch-svg-renderer": "^2.3.102",
- "scratch-vm": "codio/scratch-vm#16210_fixes",
+ "scratch-vm": "codio/scratch-vm#develop",
"startaudiocontext": "^1.2.1",
"style-loader": "4.0.0",
"to-style": "^1.3.3",
diff --git a/webpack.config.js b/webpack.config.js
index 1c9396efad2..d9bfc16808e 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -64,7 +64,7 @@ const baseConfig = new ScratchWebpackConfigBuilder(
{
context: 'node_modules/scratch-storage/dist/web/chunks',
from: '*.{js,js.map}',
- to: 'chunks',
+ to: 'chunks'
},
{
context: 'node_modules/scratch-vm/dist/web',