hyperbook 0.87.1 → 0.87.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,17 @@
4
4
  * Blockflow editor client script.
5
5
  * Prepends window.origin to relative project URLs so that
6
6
  * blockflow.openpatch.org can fetch them cross-origin.
7
+ *
8
+ * The ?project= parameter accepts:
9
+ * - A base64-encoded JSON string (no origin prepended)
10
+ * - A URL to a .json project file (origin prepended if relative)
11
+ * - A URL to an .sb3 Scratch project (origin prepended if relative)
7
12
  */
8
13
  (function () {
14
+ function isRelativeUrl(value) {
15
+ return /\.(json|sb3)($|\?)/.test(value) || value.startsWith("/");
16
+ }
17
+
9
18
  function fixIframes(root) {
10
19
  var iframes = root.querySelectorAll
11
20
  ? root.querySelectorAll(".directive-blockflow-editor iframe")
@@ -16,7 +25,7 @@
16
25
  try {
17
26
  var url = new URL(src);
18
27
  var project = url.searchParams.get("project");
19
- if (project && !project.match(/^https?:\/\//)) {
28
+ if (project && !project.match(/^https?:\/\//) && isRelativeUrl(project)) {
20
29
  url.searchParams.set("project", window.origin + project);
21
30
  iframe.setAttribute("src", url.toString());
22
31
  }
package/dist/index.js CHANGED
@@ -201186,7 +201186,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"application/1d-interleaved-parityfec
201186
201186
  /***/ ((module) => {
201187
201187
 
201188
201188
  "use strict";
201189
- module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.87.1","author":"Mike Barkmin","homepage":"https://github.com/openpatch/hyperbook#readme","license":"MIT","bin":{"hyperbook":"./dist/index.js"},"files":["dist"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/openpatch/hyperbook.git","directory":"packages/hyperbook"},"bugs":{"url":"https://github.com/openpatch/hyperbook/issues"},"engines":{"node":">=18"},"scripts":{"version":"pnpm build","lint":"tsc --noEmit","dev":"ncc build ./index.ts -w -o dist/","build":"rimraf dist && ncc build ./index.ts -o ./dist/ --no-cache --no-source-map-register --external favicons --external sharp && node postbuild.mjs"},"dependencies":{"favicons":"^7.2.0"},"devDependencies":{"create-hyperbook":"workspace:*","@hyperbook/fs":"workspace:*","@hyperbook/markdown":"workspace:*","@hyperbook/types":"workspace:*","@pnpm/exportable-manifest":"1000.0.6","@types/archiver":"6.0.3","@types/async-retry":"1.4.9","@types/cross-spawn":"6.0.6","@types/lunr":"^2.3.7","@types/prompts":"2.4.9","@types/tar":"6.1.13","@types/ws":"^8.5.14","@vercel/ncc":"0.38.3","archiver":"7.0.1","async-retry":"1.3.3","chalk":"5.4.1","chokidar":"4.0.3","commander":"12.1.0","cpy":"11.1.0","cross-spawn":"7.0.6","domutils":"^3.2.2","extract-zip":"^2.0.1","got":"12.6.0","htmlparser2":"^10.0.0","lunr":"^2.3.9","lunr-languages":"^1.14.0","mime":"^4.0.6","prompts":"2.4.2","rimraf":"6.0.1","tar":"7.4.3","update-check":"1.5.4","ws":"^8.18.0"}}');
201189
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.87.2","author":"Mike Barkmin","homepage":"https://github.com/openpatch/hyperbook#readme","license":"MIT","bin":{"hyperbook":"./dist/index.js"},"files":["dist"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/openpatch/hyperbook.git","directory":"packages/hyperbook"},"bugs":{"url":"https://github.com/openpatch/hyperbook/issues"},"engines":{"node":">=18"},"scripts":{"version":"pnpm build","lint":"tsc --noEmit","dev":"ncc build ./index.ts -w -o dist/","build":"rimraf dist && ncc build ./index.ts -o ./dist/ --no-cache --no-source-map-register --external favicons --external sharp && node postbuild.mjs"},"dependencies":{"favicons":"^7.2.0"},"devDependencies":{"create-hyperbook":"workspace:*","@hyperbook/fs":"workspace:*","@hyperbook/markdown":"workspace:*","@hyperbook/types":"workspace:*","@pnpm/exportable-manifest":"1000.0.6","@types/archiver":"6.0.3","@types/async-retry":"1.4.9","@types/cross-spawn":"6.0.6","@types/lunr":"^2.3.7","@types/prompts":"2.4.9","@types/tar":"6.1.13","@types/ws":"^8.5.14","@vercel/ncc":"0.38.3","archiver":"7.0.1","async-retry":"1.3.3","chalk":"5.4.1","chokidar":"4.0.3","commander":"12.1.0","cpy":"11.1.0","cross-spawn":"7.0.6","domutils":"^3.2.2","extract-zip":"^2.0.1","got":"12.6.0","htmlparser2":"^10.0.0","lunr":"^2.3.9","lunr-languages":"^1.14.0","mime":"^4.0.6","prompts":"2.4.2","rimraf":"6.0.1","tar":"7.4.3","update-check":"1.5.4","ws":"^8.18.0"}}');
201190
201190
 
201191
201191
  /***/ })
201192
201192
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hyperbook",
3
- "version": "0.87.1",
3
+ "version": "0.87.2",
4
4
  "author": "Mike Barkmin",
5
5
  "homepage": "https://github.com/openpatch/hyperbook#readme",
6
6
  "license": "MIT",
@@ -58,7 +58,7 @@
58
58
  "ws": "^8.18.0",
59
59
  "create-hyperbook": "0.3.5",
60
60
  "@hyperbook/fs": "0.25.0",
61
- "@hyperbook/markdown": "0.59.1",
61
+ "@hyperbook/markdown": "0.59.2",
62
62
  "@hyperbook/types": "0.22.1"
63
63
  },
64
64
  "scripts": {