@geode/opengeodeweb-front 10.26.3 → 10.26.4-rc.1

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.
@@ -30,6 +30,13 @@ function commandExistsSync(execName) {
30
30
  });
31
31
  }
32
32
 
33
+ const encoder = new TextEncoder();
34
+
35
+ function byteLength(str) {
36
+ return encoder.encode(str).byteLength;
37
+ }
38
+
39
+ // oxlint-disable-next-line max-lines-per-function
33
40
  function waitForReady(child, expectedResponse, signal) {
34
41
  // oxlint-disable-next-line promise/avoid-new
35
42
  return new Promise((resolve, reject) => {
@@ -37,15 +44,28 @@ function waitForReady(child, expectedResponse, signal) {
37
44
  const readlineStderr = readline.createInterface({ input: child.stderr });
38
45
 
39
46
  let recentOutput = "";
40
- function recordOutput(line) {
41
- recentOutput = `${recentOutput} ${line} \n`.slice(-MAX_ERROR_BUFFER_BYTES);
47
+
48
+ function recordOutput(lineOutput) {
49
+ const safeLine =
50
+ byteLength(lineOutput) > MAX_ERROR_BUFFER_BYTES / 2
51
+ ? `${lineOutput.slice(0, MAX_ERROR_BUFFER_BYTES / 2)}…[truncated]`
52
+ : lineOutput;
53
+
54
+ recentOutput = `${recentOutput} ${safeLine}\n`;
55
+
56
+ while (byteLength(recentOutput) > MAX_ERROR_BUFFER_BYTES) {
57
+ const newline = recentOutput.indexOf("\n");
58
+ if (newline === -1) {
59
+ recentOutput = "";
60
+ break;
61
+ }
62
+ recentOutput = recentOutput.slice(newline + 1);
63
+ }
42
64
  }
43
65
 
44
66
  function cleanup() {
45
- readlineStdout.removeAllListeners();
46
- readlineStdout.close();
47
- readlineStderr.removeAllListeners();
48
- readlineStderr.close();
67
+ readlineStdout.removeListener("line", onLine);
68
+ readlineStderr.removeListener("line", onErrLine);
49
69
  child.removeListener("error", onError);
50
70
  child.removeListener("close", onClose);
51
71
  if (signal) {
@@ -53,11 +73,20 @@ function waitForReady(child, expectedResponse, signal) {
53
73
  }
54
74
  }
55
75
 
56
- function onLine(line) {
57
- console.log(`[${child.name}] ${line}`);
58
- recordOutput(line);
59
- if (line.includes(expectedResponse)) {
76
+ function onLine(lineOutput) {
77
+ console.log(`[${child.name}] ${lineOutput}`);
78
+ recordOutput(lineOutput);
79
+ if (lineOutput.includes(expectedResponse)) {
60
80
  cleanup();
81
+ readlineStdout.on("line", (line) => {
82
+ console.log(`[${child.name}] ${line}`);
83
+ });
84
+ readlineStderr.on("line", (line) => {
85
+ console.log(`[${child.name}] ${line}`);
86
+ });
87
+ child.once("close", (code) => {
88
+ console.log(`[${child.name}] exited with code ${code}`);
89
+ });
61
90
  resolve(child);
62
91
  }
63
92
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geode/opengeodeweb-front",
3
- "version": "10.26.3",
3
+ "version": "10.26.4-rc.1",
4
4
  "description": "OpenSource Vue/Nuxt/Pinia/Vuetify framework for web applications",
5
5
  "homepage": "https://github.com/Geode-solutions/OpenGeodeWeb-Front",
6
6
  "bugs": {
@@ -34,8 +34,8 @@
34
34
  "build": ""
35
35
  },
36
36
  "dependencies": {
37
- "@geode/opengeodeweb-back": "latest",
38
- "@geode/opengeodeweb-viewer": "latest",
37
+ "@geode/opengeodeweb-back": "next",
38
+ "@geode/opengeodeweb-viewer": "next",
39
39
  "@google-cloud/run": "3.2.0",
40
40
  "@kitware/vtk.js": "33.3.0",
41
41
  "@mdi/font": "7.4.47",