@bookshop/hugo-engine 3.3.1-beta.9 → 3.3.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.
Files changed (22) hide show
  1. package/.nyc_output/{3d7b2afe-f130-478e-82ed-2a0379ecdfff.json → 396c364e-fec4-4f27-9ff2-8b236061ef8f.json} +0 -0
  2. package/.nyc_output/{8b92bece-b7fa-4f0d-a2c6-11e46127ccc8.json → 4ef43740-059b-4329-96cd-0643fd8fe8d8.json} +0 -0
  3. package/.nyc_output/{ad32106f-bbf1-46e2-a408-326af8789f63.json → 656275f4-66d6-4d27-bfab-c2f7a3087670.json} +0 -0
  4. package/.nyc_output/{b56df138-4974-4883-9070-3179d5d423bd.json → 6aec5420-0b83-4260-b300-4d595dfd0660.json} +0 -0
  5. package/.nyc_output/{b6ed24db-60f5-41e2-959d-ae65b62309aa.json → 874bd79b-45da-4726-9afc-1f6cab44be1f.json} +0 -0
  6. package/.nyc_output/processinfo/396c364e-fec4-4f27-9ff2-8b236061ef8f.json +1 -0
  7. package/.nyc_output/processinfo/4ef43740-059b-4329-96cd-0643fd8fe8d8.json +1 -0
  8. package/.nyc_output/processinfo/656275f4-66d6-4d27-bfab-c2f7a3087670.json +1 -0
  9. package/.nyc_output/processinfo/6aec5420-0b83-4260-b300-4d595dfd0660.json +1 -0
  10. package/.nyc_output/processinfo/874bd79b-45da-4726-9afc-1f6cab44be1f.json +1 -0
  11. package/.nyc_output/processinfo/index.json +1 -1
  12. package/hugo-renderer/build.sh +3 -0
  13. package/hugo-renderer/hugo_renderer.wasm +0 -0
  14. package/hugo-renderer/hugo_renderer.wasm.gz +0 -0
  15. package/lib/builder.js +2 -1
  16. package/lib/engine.js +9 -31
  17. package/package.json +4 -3
  18. package/.nyc_output/processinfo/3d7b2afe-f130-478e-82ed-2a0379ecdfff.json +0 -1
  19. package/.nyc_output/processinfo/8b92bece-b7fa-4f0d-a2c6-11e46127ccc8.json +0 -1
  20. package/.nyc_output/processinfo/ad32106f-bbf1-46e2-a408-326af8789f63.json +0 -1
  21. package/.nyc_output/processinfo/b56df138-4974-4883-9070-3179d5d423bd.json +0 -1
  22. package/.nyc_output/processinfo/b6ed24db-60f5-41e2-959d-ae65b62309aa.json +0 -1
@@ -0,0 +1 @@
1
+ {"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","pid":3463,"argv":["/opt/hostedtoolcache/node/16.18.1/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669766791163,"ppid":3424,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/396c364e-fec4-4f27-9ff2-8b236061ef8f.json","externalId":"","uuid":"396c364e-fec4-4f27-9ff2-8b236061ef8f","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","pid":3435,"argv":["/opt/hostedtoolcache/node/16.18.1/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669766790775,"ppid":3424,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/4ef43740-059b-4329-96cd-0643fd8fe8d8.json","externalId":"","uuid":"4ef43740-059b-4329-96cd-0643fd8fe8d8","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","pid":3441,"argv":["/opt/hostedtoolcache/node/16.18.1/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669766790781,"ppid":3424,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/656275f4-66d6-4d27-bfab-c2f7a3087670.json","externalId":"","uuid":"656275f4-66d6-4d27-bfab-c2f7a3087670","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":null,"pid":3424,"argv":["/opt/hostedtoolcache/node/16.18.1/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/cli.js","-v"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669766790333,"ppid":3413,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/6aec5420-0b83-4260-b300-4d595dfd0660.json","externalId":"","uuid":"6aec5420-0b83-4260-b300-4d595dfd0660","files":[]}
@@ -0,0 +1 @@
1
+ {"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","pid":3457,"argv":["/opt/hostedtoolcache/node/16.18.1/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669766791137,"ppid":3424,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/874bd79b-45da-4726-9afc-1f6cab44be1f.json","externalId":"","uuid":"874bd79b-45da-4726-9afc-1f6cab44be1f","files":[]}
@@ -1 +1 @@
1
- {"processes":{"3d7b2afe-f130-478e-82ed-2a0379ecdfff":{"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","children":[]},"8b92bece-b7fa-4f0d-a2c6-11e46127ccc8":{"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","children":[]},"ad32106f-bbf1-46e2-a408-326af8789f63":{"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","children":[]},"b56df138-4974-4883-9070-3179d5d423bd":{"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","children":[]},"b6ed24db-60f5-41e2-959d-ae65b62309aa":{"parent":null,"children":["3d7b2afe-f130-478e-82ed-2a0379ecdfff","8b92bece-b7fa-4f0d-a2c6-11e46127ccc8","ad32106f-bbf1-46e2-a408-326af8789f63","b56df138-4974-4883-9070-3179d5d423bd"]}},"files":{},"externalIds":{}}
1
+ {"processes":{"396c364e-fec4-4f27-9ff2-8b236061ef8f":{"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","children":[]},"4ef43740-059b-4329-96cd-0643fd8fe8d8":{"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","children":[]},"656275f4-66d6-4d27-bfab-c2f7a3087670":{"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","children":[]},"6aec5420-0b83-4260-b300-4d595dfd0660":{"parent":null,"children":["396c364e-fec4-4f27-9ff2-8b236061ef8f","4ef43740-059b-4329-96cd-0643fd8fe8d8","656275f4-66d6-4d27-bfab-c2f7a3087670","874bd79b-45da-4726-9afc-1f6cab44be1f"]},"874bd79b-45da-4726-9afc-1f6cab44be1f":{"parent":"6aec5420-0b83-4260-b300-4d595dfd0660","children":[]}},"files":{},"externalIds":{}}
@@ -23,6 +23,9 @@ if [ ! -f $OUTPUTFILENAME ]; then
23
23
  fi
24
24
  echo "Done. Repo Hugo WASM available at hugo_renderer.wasm"
25
25
 
26
+ gzip --keep $OUTPUTFILENAME
27
+ echo "Repo Hugo WASM also available at hugo_renderer.wasm.gz"
28
+
26
29
  # If we're just in a test run we don't want to touch the CDN repo
27
30
  if [[ -z "${PUBLISH_BOOKSHOP_CDN}" ]]; then
28
31
  echo "Not publishing to CDN."
Binary file
package/lib/builder.js CHANGED
@@ -10,7 +10,8 @@ export const esbuildConfigFn = (esbuildConfig, options) => {
10
10
  esbuildConfig.loader = {
11
11
  ...esbuildConfig.loader,
12
12
  ".hugo.html": "text",
13
- ".wasm": options?.hosted ? "file" : "binary"
13
+ ".wasm": options?.hosted ? "file" : "binary",
14
+ ".wasm.gz": options?.hosted ? "file" : "binary",
14
15
  };
15
16
 
16
17
  const wasm_exec_banner = fs.readFileSync(path.join(__dirname, "../hugo-renderer/wasm_exec.js"));
package/lib/engine.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import hugoWasm from "../hugo-renderer/hugo_renderer.wasm";
2
+ import compressedHugoWasm from "../hugo-renderer/hugo_renderer.wasm.gz";
2
3
  import { gunzipSync } from 'fflate';
3
4
  import translateTextTemplate from './translateTextTemplate.js';
4
5
  import { IdentifierParser } from './hugoIdentifierParser.js';
@@ -32,16 +33,11 @@ export class Engine {
32
33
  }
33
34
 
34
35
  async initializeHugo() {
35
- const useLocalHugo = window.CloudCannon?.isMocked || /localhost|127\.0\.0\.1/i.test(window.location.host);
36
36
  // When this script is run locally, the hugo wasm is loaded as binary rather than output as a file.
37
37
  if (hugoWasm?.constructor === Uint8Array) {
38
38
  await this.initializeInlineHugo();
39
39
  } else {
40
- if (useLocalHugo) {
41
- await this.initializeLocalHugo();
42
- } else {
43
- await this.initializeRemoteCompressedHugo();
44
- }
40
+ await this.initializeLocalCompressedHugo();
45
41
  }
46
42
 
47
43
  // TODO: Tidy
@@ -55,38 +51,20 @@ export class Engine {
55
51
  const success = window.loadHugoBookshopPartials(JSON.stringify(mappedFiles));
56
52
  }
57
53
 
58
- async initializeRemoteCompressedHugo() {
54
+ async initializeLocalCompressedHugo() {
59
55
  try {
60
56
  const go = new Go();
61
- const remoteWasmOrigin = `https://cdn.bookshop.build/hugo/hugo_renderer_${version}.wasm.gz`;
62
- const remoteResponse = await fetch(remoteWasmOrigin);
63
- const remoteBuffer = await remoteResponse.arrayBuffer();
64
- const renderer = gunzipSync(new Uint8Array(remoteBuffer));
57
+ const compressedWasmOrigin = this.origin.replace(/\/[^\.\/]+\.(min\.)?js/, compressedHugoWasm.replace(/^\./, ''));
58
+ const compressedResponse = await fetch(compressedWasmOrigin);
59
+ const compressedBuffer = await compressedResponse.arrayBuffer();
60
+ const renderer = gunzipSync(new Uint8Array(compressedBuffer));
65
61
 
66
62
  // Check the magic word at the start of the buffer as a way to verify the CDN download worked.
67
63
  const isWasm = ([...renderer.slice(0, 4)]).map(g => g.toString(16).padStart(2, '0')).join('') === "0061736d";
68
64
  if (!isWasm) throw "Not WASM";
69
65
 
70
- const remoteResult = await WebAssembly.instantiate(renderer, go.importObject);
71
- go.run(remoteResult.instance);
72
- } catch (e) {
73
- await this.initializeRemoteHugo();
74
- }
75
- }
76
-
77
- async initializeRemoteHugo() {
78
- try {
79
- const go = new Go();
80
- const remoteWasmOrigin = `https://cdn.bookshop.build/hugo/hugo_renderer_${version}.wasm`;
81
- const remoteResponse = await fetch(remoteWasmOrigin);
82
- const remoteBuffer = await remoteResponse.arrayBuffer();
83
-
84
- // Check the magic word at the start of the buffer as a way to verify the CDN download worked.
85
- const isWasm = ([...new Uint8Array(remoteBuffer, 0, 4)]).map(g => g.toString(16).padStart(2, '0')).join('') === "0061736d";
86
- if (!isWasm) throw "Not WASM";
87
-
88
- const remoteResult = await WebAssembly.instantiate(remoteBuffer, go.importObject);
89
- go.run(remoteResult.instance);
66
+ const compressedResult = await WebAssembly.instantiate(renderer, go.importObject);
67
+ go.run(compressedResult.instance);
90
68
  } catch (e) {
91
69
  await this.initializeLocalHugo();
92
70
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bookshop/hugo-engine",
3
3
  "packageManager": "yarn@3.0.0",
4
- "version": "3.3.1-beta.9",
4
+ "version": "3.3.2",
5
5
  "description": "Bookshop frontend Hugo renderer",
6
6
  "type": "module",
7
7
  "sideEffects": false,
@@ -14,7 +14,8 @@
14
14
  "*.js",
15
15
  "lib/*.js",
16
16
  "!**/*.test.js",
17
- "hugo-renderer/hugo_renderer.wasm"
17
+ "hugo-renderer/hugo_renderer.wasm",
18
+ "hugo-renderer/hugo_renderer.wasm.gz"
18
19
  ],
19
20
  "scripts": {
20
21
  "test": "nyc ava -v"
@@ -29,7 +30,7 @@
29
30
  "nyc": "^15.1.0"
30
31
  },
31
32
  "dependencies": {
32
- "@bookshop/helpers": "3.3.1-beta.9",
33
+ "@bookshop/helpers": "3.3.2",
33
34
  "esbuild": "^0.13.10",
34
35
  "fflate": "^0.7.3",
35
36
  "liquidjs": "9.28.0"
@@ -1 +0,0 @@
1
- {"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","pid":3709,"argv":["/opt/hostedtoolcache/node/16.18.0/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669268627436,"ppid":3676,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/3d7b2afe-f130-478e-82ed-2a0379ecdfff.json","externalId":"","uuid":"3d7b2afe-f130-478e-82ed-2a0379ecdfff","files":[]}
@@ -1 +0,0 @@
1
- {"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","pid":3710,"argv":["/opt/hostedtoolcache/node/16.18.0/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669268627437,"ppid":3676,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/8b92bece-b7fa-4f0d-a2c6-11e46127ccc8.json","externalId":"","uuid":"8b92bece-b7fa-4f0d-a2c6-11e46127ccc8","files":[]}
@@ -1 +0,0 @@
1
- {"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","pid":3687,"argv":["/opt/hostedtoolcache/node/16.18.0/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669268627080,"ppid":3676,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/ad32106f-bbf1-46e2-a408-326af8789f63.json","externalId":"","uuid":"ad32106f-bbf1-46e2-a408-326af8789f63","files":[]}
@@ -1 +0,0 @@
1
- {"parent":"b6ed24db-60f5-41e2-959d-ae65b62309aa","pid":3693,"argv":["/opt/hostedtoolcache/node/16.18.0/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/lib/worker/subprocess.js"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669268627084,"ppid":3676,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/b56df138-4974-4883-9070-3179d5d423bd.json","externalId":"","uuid":"b56df138-4974-4883-9070-3179d5d423bd","files":[]}
@@ -1 +0,0 @@
1
- {"parent":null,"pid":3676,"argv":["/opt/hostedtoolcache/node/16.18.0/x64/bin/node","/home/runner/work/bookshop/bookshop/javascript-modules/node_modules/ava/cli.js","-v"],"execArgv":[],"cwd":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine","time":1669268626662,"ppid":3665,"coverageFilename":"/home/runner/work/bookshop/bookshop/javascript-modules/engines/hugo-engine/.nyc_output/b6ed24db-60f5-41e2-959d-ae65b62309aa.json","externalId":"","uuid":"b6ed24db-60f5-41e2-959d-ae65b62309aa","files":[]}