@haibun/utils 1.51.1 → 1.51.3

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.
@@ -10,8 +10,8 @@ const runContainer = (testToRun, filter, includeDirs = [], recreate) => {
10
10
  const utilDir = resolve(getPackageLocation(import.meta), '..', '..', 'walkthrough-container');
11
11
  const projectDir = process.cwd();
12
12
  const tmpFile = resolve(tmpdir(), `docker-compose.override-${Date.now()}.yml`);
13
- const envs = readFileSync(`${projectDir}/.env`, 'utf8').split('\n').join(',');
14
- const haibunEnvc = (envs.length > 0) ? `HAIBUN_ENV=${envs} ` : '';
13
+ const envs = existsSync(`${projectDir}/.env`) ? readFileSync(`${projectDir}/.env`, 'utf8').split('\n').filter(l => l.length > 0) : [];
14
+ const haibunEnvc = (envs.length > 0) ? `HAIBUN_ENV=${envs.join(',')} ` : '';
15
15
  // Ensure capture directory exists
16
16
  const captureDir = resolve(projectDir, 'capture');
17
17
  if (!existsSync(captureDir)) {
@@ -45,6 +45,8 @@ ${volumeConfig}
45
45
  - DISPLAY=:99
46
46
  - HAIBUN_O_HAIBUN_TTS_CMD=/app/speak-to-wav.sh @WHAT@
47
47
  - HAIBUN_O_HAIBUN_TTS_PLAY=aplay @WHAT@
48
+ - HAIBUN_O_HAIBUN_RECORD_START=/app/capture-start.sh
49
+ - HAIBUN_O_HAIBUN_RECORD_STOP=/app/capture-stop.sh
48
50
  - ${HOST_PROJECT_DIR}=${projectDir}
49
51
  - COMMAND_TO_RECORD=${HOST_PROJECT_DIR}="${projectDir}" HAIBUN_LOG_LEVEL=log ${haibunEnvc} npm run ${testToRun} ${filter}
50
52
  `;
@@ -88,7 +90,7 @@ if (!testToRun || includeDirs.length === 0) {
88
90
  }
89
91
  runContainer(testToRun, filter, includeDirs, recreate);
90
92
  function printHelp() {
91
- console.error('Usage: ${process.argv[1] [--rebuild] script filter features files ...');
93
+ console.error(`Usage: ${process.argv[1]} [--rebuild] script filter features files ...`);
92
94
  process.exit(1);
93
95
  }
94
96
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/walkthrough-container/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/walkthrough-container/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@haibun/utils",
3
3
  "type": "module",
4
- "version": "1.51.1",
4
+ "version": "1.51.3",
5
5
  "description": "",
6
6
  "main": "index.js",
7
7
  "files": [
@@ -27,5 +27,5 @@
27
27
  "author": "",
28
28
  "license": "ISC",
29
29
  "gitHead": "7cf9680bd922fb622fb59f1e6bf5b65284cb8fd5",
30
- "dependencies": { "@haibun/cli": "1.51.1", "@haibun/core": "1.51.1" }
30
+ "dependencies": { "@haibun/cli": "1.51.3", "@haibun/core": "1.51.3" }
31
31
  }
@@ -32,15 +32,14 @@ RUN sed -i 's/geteuid/getppid/' /usr/bin/vlc
32
32
  WORKDIR /app
33
33
 
34
34
  # Copy all needed files at once
35
- COPY package*.json kokoro-speak.cjs speak-to-wav.sh ./
35
+ COPY package*.json kokoro-speak.cjs *.sh ./
36
36
 
37
37
  # Single npm install for everything
38
- RUN npm i && \
39
- npm install kokoro-js
38
+ RUN npm i # && npm install kokoro-js
40
39
 
41
40
  RUN mkdir -p /run/user/1000 && chmod 700 /run/user/1000
42
41
 
43
42
  COPY entrypoint.sh ./
44
- RUN chmod +x speak-to-wav.sh entrypoint.sh
43
+ RUN chmod +x *.sh
45
44
 
46
45
  ENTRYPOINT ["./entrypoint.sh"]
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/sh
2
+
3
+ # Start recording
4
+ ffmpeg \
5
+ -f x11grab \
6
+ -r 30 \
7
+ -thread_queue_size 512 \
8
+ -s "$RES" \
9
+ -i "$DISPLAY" \
10
+ -f pulse \
11
+ -thread_queue_size 512 \
12
+ -i default \
13
+ -c:v libvpx-vp9 \
14
+ -deadline realtime \
15
+ -speed 6 \
16
+ -c:a libopus \
17
+ -flush_packets 1 \
18
+ "output/walkthrough.webm" &
19
+
20
+ echo $! > /tmp/ffmpeg.pid
21
+
22
+ FFMPEG_PID=$(cat /tmp/ffmpeg.pid)
23
+ sleep 1
24
+ if ! ps -p "$FFMPEG_PID" > /dev/null; then
25
+ echo "FFmpeg failed to start"
26
+ exit 1
27
+ fi
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/sh
2
+
3
+ FFMPEG_PID=$(cat /tmp/ffmpeg.pid)
4
+ if [ -z "$FFMPEG_PID" ]; then
5
+ echo "FFmpeg PID not found in /tmp/ffmpeg.pid"
6
+ exit 1
7
+ fi
8
+ kill -SIGHUP "$FFMPEG_PID"
@@ -46,40 +46,10 @@ echo "entrypoint is setting up the environment (logfile is $LOGFILE)"
46
46
  pactl load-module module-virtual-sink sink_name=v1
47
47
  pactl set-default-sink v1
48
48
  pactl set-default-source v1.monitor
49
- sleep 1
50
-
51
- # Start recording
52
- ffmpeg \
53
- -f x11grab \
54
- -r 30 \
55
- -thread_queue_size 512 \
56
- -s "$RES" \
57
- -i "$DISPLAY" \
58
- -f pulse \
59
- -thread_queue_size 512 \
60
- -i default \
61
- -c:v libvpx-vp9 \
62
- -deadline realtime \
63
- -speed 6 \
64
- -c:a libopus \
65
- -flush_packets 1 \
66
- "output/walkthrough.webm" &
67
-
68
- FFMPEG_PID=$!
69
49
  } > "$LOGFILE" 2>&1
70
50
 
71
- # Check if ffmpeg started successfully
72
- sleep 1
73
- if ! ps -p "$FFMPEG_PID" > /dev/null; then
74
- echo "FFmpeg failed to start"
75
- cat "$LOGFILE"
76
- exit 1
77
- fi
78
-
79
51
  echo "About to run $COMMAND_TO_RECORD"
80
52
  eval "$COMMAND_TO_RECORD"
81
53
  echo "finalizing file://${HOST_PROJECT_DIR}/walkthrough.webm"
82
- sleep 5
83
-
84
- kill -SIGHUP "$FFMPEG_PID"
54
+ sleep 5000
85
55