diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fe431af9..919f83ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -90,11 +90,11 @@ jobs: AWS_CLOUDFRONT_DISTRIBUTION_ID: "E2SN9UWE8YY9EG" run: | pip install awscli - gzip -k _shinylive/r/shinylive/webr/library.data + gzip -k _shinylive/r/shinylive/webr/R.bin.wasm aws s3 sync _shinylive s3://shinylive.io --delete aws s3 cp --exclude "*" --include "*.data" --include "*.so" --recursive --content-type="application/wasm" --metadata-directive="REPLACE" s3://shinylive.io/r/shinylive/webr/ s3://shinylive.io/r/shinylive/webr/ aws s3 cp --exclude "*" --include "*.js.metadata" --recursive --content-type="text/javascript" --metadata-directive="REPLACE" s3://shinylive.io/r/shinylive/webr/ s3://shinylive.io/r/shinylive/webr/ - aws s3 cp --content-encoding="gzip" --content-type="application/wasm" --metadata-directive="REPLACE" _shinylive/r/shinylive/webr/library.data.gz s3://shinylive.io/r/shinylive/webr/library.data + aws s3 cp --content-encoding="gzip" --content-type="application/wasm" --metadata-directive="REPLACE" _shinylive/r/shinylive/webr/R.bin.wasm.gz s3://shinylive.io/r/shinylive/webr/R.bin.wasm aws cloudfront create-invalidation --distribution-id $AWS_CLOUDFRONT_DISTRIBUTION_ID --paths "/*" # ===================================================== diff --git a/Makefile b/Makefile index 1362ca4e..00f46a78 100644 --- a/Makefile +++ b/Makefile @@ -143,7 +143,7 @@ $(BUILD_DIR)/shinylive/webr: webr webr: mkdir -p $(BUILD_DIR)/shinylive/webr cp -r node_modules/webr/dist/. $(BUILD_DIR)/shinylive/webr - curl --fail -L https://github.com/r-wasm/shiny/releases/download/v$(R_SHINY_VERSION)/library.data -o $(BUILD_DIR)/shinylive/webr/library.data + curl --fail -L https://github.com/r-wasm/shiny/releases/download/v$(R_SHINY_VERSION)/library.data.gz -o $(BUILD_DIR)/shinylive/webr/library.data.gz curl --fail -L https://github.com/r-wasm/shiny/releases/download/v$(R_SHINY_VERSION)/library.js.metadata -o $(BUILD_DIR)/shinylive/webr/library.js.metadata # FIXME: GitHub Pages does not cache Partial Content downloads. Here, we reduce # the damage by forcing entire file downloads with Emscripten's lazy filesystem. diff --git a/package-lock.json b/package-lock.json index 7b653845..e03e126f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,9 +8,6 @@ "name": "shinylive", "version": "0.5.0", "license": "MIT", - "dependencies": { - "@codemirror/lang-sql": "^6.7.0" - }, "devDependencies": { "@codemirror/autocomplete": "^6.4.2", "@codemirror/commands": "6.2.1", @@ -18,6 +15,7 @@ "@codemirror/lang-html": "^6.4.2", "@codemirror/lang-javascript": "^6.1.4", "@codemirror/lang-python": "^6.1.1", + "@codemirror/lang-sql": "^6.7.0", "@codemirror/language": "^6.6.0", "@codemirror/legacy-modes": "^6.3.1", "@codemirror/lint": "^6.1.1", @@ -68,7 +66,7 @@ "tsx": "^4.7.0", "typescript": "^5.3.3", "vscode-languageserver-protocol": "^3.17.5", - "webr": "^0.4.0", + "webr": "^0.4.1", "xterm": "^5.3.0", "xterm-addon-fit": "^0.7.0", "xterm-readline": "^1.1.1" @@ -752,6 +750,7 @@ "version": "6.11.1", "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.11.1.tgz", "integrity": "sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==", + "dev": true, "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", @@ -837,6 +836,7 @@ "version": "6.7.0", "resolved": "https://registry.npmjs.org/@codemirror/lang-sql/-/lang-sql-6.7.0.tgz", "integrity": "sha512-KMXp6rtyPYz6RaElvkh/77ClEAoQoHRPZo0zutRRialeFs/B/X8YaUJBCnAV2zqyeJPLZ4hgo48mG8TKoNXfZA==", + "dev": true, "dependencies": { "@codemirror/autocomplete": "^6.0.0", "@codemirror/language": "^6.0.0", @@ -850,6 +850,7 @@ "version": "6.9.3", "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.9.3.tgz", "integrity": "sha512-qq48pYzoi6ldYWV/52+Z9Ou6QouVI+8YwvxFbUypI33NbjG2UeRHKENRyhwljTTiOqjQ33FjyZj6EREQ9apAOQ==", + "dev": true, "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", @@ -893,12 +894,14 @@ "node_modules/@codemirror/state": { "version": "6.3.2", "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.3.2.tgz", - "integrity": "sha512-5jEikOfU0r9y+OTlZn5AEQB15mibu3deLBUp+GnLzVUNezEEuPt/JdSeniQNi+0YviblAvOPO2JQAlgJ3SYYaA==" + "integrity": "sha512-5jEikOfU0r9y+OTlZn5AEQB15mibu3deLBUp+GnLzVUNezEEuPt/JdSeniQNi+0YviblAvOPO2JQAlgJ3SYYaA==", + "dev": true }, "node_modules/@codemirror/view": { "version": "6.22.1", "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.22.1.tgz", "integrity": "sha512-38BRn1nPqZqiHbmWfI8zri23IbRVbmSpSmh1E/Ysvc+lIGGdBC17K8zlK7ZU6fhfy9x4De9Zyj5JQqScPq5DkA==", + "dev": true, "dependencies": { "@codemirror/state": "^6.1.4", "style-mod": "^4.1.0", @@ -2083,7 +2086,8 @@ "node_modules/@lezer/common": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", - "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" + "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==", + "dev": true }, "node_modules/@lezer/css": { "version": "1.1.4", @@ -2099,6 +2103,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", + "dev": true, "dependencies": { "@lezer/common": "^1.0.0" } @@ -2128,6 +2133,7 @@ "version": "1.3.14", "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.14.tgz", "integrity": "sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==", + "dev": true, "dependencies": { "@lezer/common": "^1.0.0" } @@ -9256,7 +9262,8 @@ "node_modules/style-mod": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.0.tgz", - "integrity": "sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==" + "integrity": "sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==", + "dev": true }, "node_modules/supports-color": { "version": "7.2.0", @@ -10159,7 +10166,8 @@ "node_modules/w3c-keyname": { "version": "2.2.8", "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", - "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "dev": true }, "node_modules/w3c-xmlserializer": { "version": "2.0.0", @@ -10192,9 +10200,9 @@ } }, "node_modules/webr": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/webr/-/webr-0.4.0.tgz", - "integrity": "sha512-vDggYyMJHEv/X7mViz9kalFd56+D4fVwWREAVF+EqKVkyETNI/tFCOLdp+R16C1rhnMA/QMZvyXrcK/tb79WUA==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/webr/-/webr-0.4.1.tgz", + "integrity": "sha512-BrLEhyCPU43ayzv5xnQsWnBbhtAeXte89HYkrA+rq1vX9byu5bJEovnJr0My4t250jGTMGKXsHhXKhVULHVnxg==", "dev": true, "dependencies": { "@codemirror/autocomplete": "^6.8.1", @@ -10208,6 +10216,7 @@ "jszip": "^3.10.1", "lezer-r": "^0.1.1", "lightningcss": "^1.21.5", + "pako": "^2.1.0", "prop-types": "^15.7.2", "react": "^18.2.0", "react-accessible-treeview": "^2.6.1", @@ -10237,6 +10246,12 @@ "@lezer/common": "^1.1.0" } }, + "node_modules/webr/node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "dev": true + }, "node_modules/whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", diff --git a/package.json b/package.json index 6c18c676..086b27d6 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ "tsx": "^4.7.0", "typescript": "^5.3.3", "vscode-languageserver-protocol": "^3.17.5", - "webr": "^0.4.0", + "webr": "^0.4.1", "xterm": "^5.3.0", "xterm-addon-fit": "^0.7.0", "xterm-readline": "^1.1.1"