@haibun/utils 1.59.2 → 1.60.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.
@@ -9,7 +9,7 @@ export const runContainer = (testToRun, includeDirs = [], thisCaptureOptions) =>
9
9
  const { tmpFile, composeEnvironment, utilDir, composeVolumes, projectDir, buildContextDir } = getContainerSetup(thisCaptureOptions, includeDirs, testToRun);
10
10
  const captureDir = resolve(projectDir, 'capture');
11
11
  if (!existsSync(captureDir)) {
12
- console.log('Creating capture directory');
12
+ console.info('Creating capture directory');
13
13
  mkdirSync(captureDir, { recursive: true });
14
14
  }
15
15
  mkdirSync(buildContextDir, { recursive: true });
@@ -27,11 +27,11 @@ ${asYamlOptions(composeVolumes)}
27
27
  ${(asYamlOptions(composeEnvironment))}
28
28
  `;
29
29
  writeFileSync(tmpFile, composeFile);
30
- console.log(`Building then starting vcapture container using ${utilDir}`);
31
- console.log(`Mounting directories:\n${composeVolumes.join('\n')}`);
30
+ console.info(`Building then starting vcapture container using ${utilDir}`);
31
+ console.info(`Mounting directories:\n${composeVolumes.join('\n')}`);
32
32
  try {
33
33
  const cmd = `docker compose -f docker-compose.yml -f ${tmpFile} up ${thisCaptureOptions.recreate ? '--force-recreate --build' : ''}`;
34
- console.log('building with:', cmd);
34
+ console.info('building with:', cmd);
35
35
  execSync(cmd, {
36
36
  cwd: utilDir,
37
37
  stdio: 'inherit',
@@ -1 +1 @@
1
- {"version":3,"file":"vcapture-lib.js","sourceRoot":"","sources":["../../src/vcapture/vcapture-lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vcapture-lib.js","sourceRoot":"","sources":["../../src/vcapture/vcapture-lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAY5E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,EAAE,EAAE,kBAAmC,EAAE,EAAE;IAChG,IAAI,CAAC;QACJ,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5J,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC3C,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,MAAM,UAAU,WAAW,eAAe,GAAG,CAAC,CAAC;QACxD,QAAQ,CAAC,MAAM,OAAO,SAAS,OAAO,qBAAqB,eAAe,GAAG,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG;;;;iBAIL,eAAe;oBACZ,OAAO;;EAEzB,aAAa,CAAC,cAAc,CAAC;;EAE7B,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACpC,CAAC;QACA,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,mDAAmD,OAAO,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,0BAA0B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,2CAA2C,OAAO,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YACpI,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YACpC,QAAQ,CAAC,GAAG,EAAE;gBACb,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE;oBACJ,GAAG,OAAO,CAAC,GAAG;oBACd,WAAW,EAAE,UAAU;iBACvB;aACD,CAAC,CAAC;QACJ,CAAC;gBACO,CAAC;YACR,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,QAAQ,CAAC,UAAU,eAAe,EAAE,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,cAA+B,EAAE,WAAqB,EAAE,SAAiB;IAC1G,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,2BAA2B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE/E,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,UAAU,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,UAAU,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtI,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACjG,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG;QACtB,GAAG,UAAU,uBAAuB;QACpC,GAAG,UAAU,cAAc;QAC3B,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;KACpE,CAAC;IACF,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,MAAM,kBAAkB,GAAG;QAC1B,aAAa;QACb,OAAO,cAAc,CAAC,GAAG,EAAE;QAC3B,GAAG,gBAAgB,IAAI,UAAU,EAAE;QACnC,qBAAqB,gBAAgB,KAAK,UAAU,0BAA0B,aAAa,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,SAAS,GAAG,KAAK,EAAE;KACrK,CAAC;IACF,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC;QACxB,kBAAkB,CAAC,IAAI,CACtB,qDAAqD,EACrD,uCAAuC,CACvC,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5B,kBAAkB,CAAC,IAAI,CACtB,qDAAqD,EACrD,mDAAmD,CACnD,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,aAAa,CAAC,OAAiB;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,SAAsC;IACvF,MAAM,cAAc,GAAoB;QACvC,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,WAAW;QAChB,OAAO,EAAE,SAAS;QAClB,aAAa,EAAE,SAAS;KACxB,CAAC;IAEF,0CAA0C;IAC1C,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1B,QAAQ,IAAI,EAAE,CAAC;gBACd,KAAK,YAAY,CAAC,CAAC,CAAC;oBACnB,MAAM,aAAa,GAAG,KAAK,CAAC;oBAC5B,cAAc,CAAC,QAAQ,GAAG,aAAa,KAAK,OAAO,CAAC;oBACpD,MAAM;gBACP,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACd,MAAM,QAAQ,GAAG,KAAK,CAAC;oBACvB,cAAc,CAAC,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC;oBAC1C,MAAM;gBACP,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACrB,MAAM,YAAY,GAAG,KAAK,CAAC;oBAC3B,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC;oBACrD,MAAM;gBACP,CAAC;gBACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACzB,cAAc,CAAC,aAAa,GAAG,KAAK,CAAC;oBACrC,MAAM;gBACP,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBAClB,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC5F,MAAM;gBACP,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBACnB,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC/F,MAAM;gBACP,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACd,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;wBACvC,cAAc,CAAC,GAAG,GAAG,KAAK,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;wBACpE,SAAS,EAAE,CAAC;oBACb,CAAC;oBACD,MAAM;gBACP,CAAC;gBACD,KAAK,QAAQ;oBACZ,SAAS,CAAC,CAAC,CAAC,CAAC;oBACb,MAAM;gBACP;oBACC,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;oBACvC,SAAS,EAAE,CAAC;YACd,CAAC;QACF,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IACD,MAAM,CAAC,SAAS,EAAE,GAAG,WAAW,CAAC,GAAG,UAAU,CAAC;IAC/C,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,SAAS,EAAE,CAAC;IACxD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@haibun/utils",
3
3
  "type": "module",
4
- "version": "1.59.2",
4
+ "version": "1.60.2",
5
5
  "description": "",
6
6
  "main": "index.js",
7
7
  "files": ["ref.package.json", "build/**", "scaffold/**", "vcapture/**"],
@@ -22,5 +22,5 @@
22
22
  "author": "",
23
23
  "license": "ISC",
24
24
  "gitHead": "7cf9680bd922fb622fb59f1e6bf5b65284cb8fd5",
25
- "dependencies": { "@haibun/cli": "1.59.0", "@haibun/core": "1.59.0" }
25
+ "dependencies": { "@haibun/cli": "1.60.2", "@haibun/core": "1.60.2" }
26
26
  }
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env node
2
- type TRunOptions = {
3
- recreate: boolean;
4
- tts: boolean;
5
- capture: boolean;
6
- res: string;
7
- passEnv: string | undefined;
8
- };
9
- export declare function parseVCaptureArgs(args: string[], printHelp: (exitCode?: number) => void): {
10
- runOptions: TRunOptions;
11
- testToRun: string;
12
- filter: string;
13
- includeDirs: string[];
14
- };
15
- declare const TRunOptions: TRunOptions;
16
- export {};
17
- //# sourceMappingURL=index%20copy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index copy.d.ts","sourceRoot":"","sources":["../../src/vcapture/index copy.ts"],"names":[],"mappings":";AAmBA,KAAK,WAAW,GAAG;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAA;AA0FD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI;;;;;EA8CvF;AAGD,QAAA,MAAoB,WAAW,aAAmF,CAAC"}
@@ -1,155 +0,0 @@
1
- #!/usr/bin/env node
2
- import { getPackageLocation } from '@haibun/core/build/lib/util/workspace-lib.js';
3
- import { execSync } from 'child_process';
4
- import { resolve } from 'path';
5
- import { writeFileSync, unlinkSync, readFileSync, mkdirSync, existsSync } from 'fs';
6
- import { tmpdir } from 'os';
7
- import { HOST_PROJECT_DIR } from '@haibun/core/build/lib/defs.js';
8
- process.on('unhandledRejection', (err) => {
9
- console.error('cli Unhandled Rejection:', err);
10
- if (err && err.stack) {
11
- console.error(err.stack);
12
- }
13
- else {
14
- console.error(err);
15
- }
16
- });
17
- const runContainer = (testToRun, filter, includeDirs = [], thisRunOptions) => {
18
- try {
19
- const utilDir = resolve(getPackageLocation(import.meta), '..', '..', 'vcapture');
20
- const projectDir = process.cwd();
21
- const tmpFile = resolve(tmpdir(), `docker-compose.override-${Date.now()}.yml`);
22
- const envs = existsSync(`${projectDir}/.env`) ? readFileSync(`${projectDir}/.env`, 'utf8').split('\n').filter(l => l.length > 0) : [];
23
- if (thisRunOptions.passEnv) {
24
- envs.push(thisRunOptions.passEnv);
25
- }
26
- const haibunEnvc = (envs.length > 0) ? `HAIBUN_ENV=${envs.join(',')} ` : '';
27
- if (thisRunOptions.passEnv) {
28
- haibunEnvc;
29
- }
30
- const captureDir = resolve(projectDir, 'capture');
31
- console.info('vcapture running with options:', thisRunOptions);
32
- if (!existsSync(captureDir)) {
33
- console.log('Creating capture directory');
34
- mkdirSync(captureDir, { recursive: true });
35
- }
36
- const buildContextDir = resolve(tmpdir(), `build-context-${Date.now()}`);
37
- mkdirSync(buildContextDir, { recursive: true });
38
- execSync(`cp ${projectDir}/*.json ${buildContextDir}/`);
39
- execSync(`cp ${utilDir}/*.sh ${utilDir}/kokoro-speak.cjs ${buildContextDir}/`);
40
- const dirsToMount = [...includeDirs, 'capture'];
41
- const composeVolumes = [
42
- `${projectDir}/capture:/app/capture`,
43
- `${projectDir}:/app/output`,
44
- ...dirsToMount.map(dir => `${resolve(projectDir, dir)}:/app/${dir}`)
45
- ];
46
- const composeEnvironment = [
47
- 'DISPLAY=:99',
48
- `RES=${thisRunOptions.res}`,
49
- `${HOST_PROJECT_DIR}=${projectDir}`,
50
- `COMMAND_TO_RECORD=${HOST_PROJECT_DIR}="${projectDir}" HAIBUN_LOG_LEVEL=log ${haibunEnvc} npm run ${testToRun} ${filter}`
51
- ];
52
- if (thisRunOptions.tts) {
53
- composeEnvironment.push('HAIBUN_O_HAIBUN_TTS_CMD=/app/speak-to-wav.sh @WHAT@', 'HAIBUN_O_HAIBUN_TTS_PLAY=aplay @WHAT@');
54
- }
55
- if (thisRunOptions.capture) {
56
- composeEnvironment.push('HAIBUN_O_HAIBUN_CAPTURE_START=/app/capture-start.sh', 'HAIBUN_O_HAIBUN_CAPTURE_STOP=/app/capture-stop.sh');
57
- }
58
- const composeFile = `
59
- services:
60
- haibun-recorder:
61
- build:
62
- context: ${buildContextDir}
63
- dockerfile: ${utilDir}/Dockerfile
64
- volumes:
65
- ${asYamlOptions(composeVolumes)}
66
- environment:
67
- ${(asYamlOptions(composeEnvironment))}
68
- `;
69
- writeFileSync(tmpFile, composeFile);
70
- console.log(`Building then starting vcapture container using ${utilDir}`);
71
- console.log(`Mounting directories:\n${composeVolumes}`);
72
- try {
73
- const cmd = `docker compose -f docker-compose.yml -f ${tmpFile} up ${thisRunOptions.recreate ? '--force-recreate --build' : ''}`;
74
- console.log('building with:', cmd);
75
- execSync(cmd, {
76
- cwd: utilDir,
77
- stdio: 'inherit',
78
- env: {
79
- ...process.env,
80
- CURRENT_DIR: projectDir,
81
- }
82
- });
83
- }
84
- finally {
85
- unlinkSync(tmpFile);
86
- execSync(`rm -rf ${buildContextDir}`);
87
- }
88
- }
89
- catch (error) {
90
- console.error('Error:', error.stderr?.toString() || error.message);
91
- process.exit(1);
92
- }
93
- };
94
- function asYamlOptions(options) {
95
- return options.map(o => ` - ${o}`).join('\n');
96
- }
97
- export function parseVCaptureArgs(args, printHelp) {
98
- const runOptions = {
99
- recreate: false,
100
- tts: false,
101
- capture: true,
102
- res: '1280x720',
103
- passEnv: undefined
104
- };
105
- args.reduce((acc, arg) => {
106
- if (arg.startsWith('--')) {
107
- const [what, ...v] = arg.split('=');
108
- const value = v.join('=');
109
- if (what === '--recreate') {
110
- runOptions.recreate = value !== 'false';
111
- return acc;
112
- }
113
- else if (what === '--tts') {
114
- runOptions.tts = value !== 'false';
115
- return acc;
116
- }
117
- else if (what === '--no-capture') {
118
- runOptions.capture = false;
119
- return acc;
120
- }
121
- else if (what === '--pass-env') {
122
- runOptions.passEnv = value || args.shift();
123
- return acc;
124
- }
125
- else if (what === '--res') {
126
- const res = value || args.shift();
127
- if (res && res.match(/^\d+x\d+$/)) {
128
- runOptions.res = res;
129
- return acc;
130
- }
131
- console.error(`Missing or incorrect WxH value for --res: ${res}`);
132
- printHelp();
133
- }
134
- else if (arg === '--help') {
135
- printHelp(0);
136
- }
137
- console.error(`unknown -- arg ${arg}`);
138
- printHelp();
139
- }
140
- return [...acc, arg];
141
- }, []);
142
- const [testToRun, filter, ...includeDirs] = args;
143
- if (!testToRun || includeDirs.length === 0) {
144
- printHelp();
145
- }
146
- return { runOptions, testToRun, filter, includeDirs };
147
- }
148
- const args = process.argv.slice(2);
149
- const { runOptions: TRunOptions, testToRun, filter, includeDirs, runOptions } = parseVCaptureArgs(args, printHelp);
150
- runContainer(testToRun, filter, includeDirs, runOptions);
151
- function printHelp(exitCode = 1) {
152
- console.error(`Usage: ${process.argv[1]} [--pass-env] [--recreate[=boolean]] [--tts[=boolean]] [--no-capture] [--help] [--res WxH] script filter features files ...`);
153
- process.exit(exitCode);
154
- }
155
- //# sourceMappingURL=index%20copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index copy.js","sourceRoot":"","sources":["../../src/vcapture/index copy.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env node
2
- type TRunOptions = {
3
- recreate: boolean;
4
- tts: boolean;
5
- capture: boolean;
6
- res: string;
7
- passEnv: string | undefined;
8
- };
9
- export declare const runContainer: (testToRun: any, filter: any, includeDirs: any[], thisRunOptions: TRunOptions) => void;
10
- export declare function parseVCaptureArgs(args: string[], printHelp: (exitCode?: number) => void): {
11
- runOptions: TRunOptions;
12
- testToRun: string;
13
- filter: string;
14
- includeDirs: string[];
15
- };
16
- declare const TRunOptions: TRunOptions;
17
- export {};
18
- //# sourceMappingURL=run-vcapture.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-vcapture.d.ts","sourceRoot":"","sources":["../../src/vcapture/run-vcapture.ts"],"names":[],"mappings":";AAmBA,KAAK,WAAW,GAAG;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAA;AAGD,eAAO,MAAM,YAAY,GAAI,cAAS,EAAE,WAAM,EAAE,kBAAgB,EAAE,gBAAgB,WAAW,SAkF5F,CAAC;AAKF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI;;;;;EA8CvF;AAGD,QAAA,MAAoB,WAAW,aAAmF,CAAC"}
@@ -1,155 +0,0 @@
1
- #!/usr/bin/env node
2
- import { getPackageLocation } from '@haibun/core/build/lib/util/workspace-lib.js';
3
- import { execSync } from 'child_process';
4
- import { resolve } from 'path';
5
- import { writeFileSync, unlinkSync, readFileSync, mkdirSync, existsSync } from 'fs';
6
- import { tmpdir } from 'os';
7
- import { HOST_PROJECT_DIR } from '@haibun/core/build/lib/defs.js';
8
- process.on('unhandledRejection', (err) => {
9
- console.error('cli Unhandled Rejection:', err);
10
- if (err && err.stack) {
11
- console.error(err.stack);
12
- }
13
- else {
14
- console.error(err);
15
- }
16
- });
17
- export const runContainer = (testToRun, filter, includeDirs = [], thisRunOptions) => {
18
- try {
19
- const utilDir = resolve(getPackageLocation(import.meta), '..', '..', 'vcapture');
20
- const projectDir = process.cwd();
21
- const tmpFile = resolve(tmpdir(), `docker-compose.override-${Date.now()}.yml`);
22
- const envs = existsSync(`${projectDir}/.env`) ? readFileSync(`${projectDir}/.env`, 'utf8').split('\n').filter(l => l.length > 0) : [];
23
- if (thisRunOptions.passEnv) {
24
- envs.push(thisRunOptions.passEnv);
25
- }
26
- const haibunEnvc = (envs.length > 0) ? `HAIBUN_ENV=${envs.join(',')} ` : '';
27
- if (thisRunOptions.passEnv) {
28
- haibunEnvc;
29
- }
30
- const captureDir = resolve(projectDir, 'capture');
31
- console.info('vcapture running with options:', thisRunOptions);
32
- if (!existsSync(captureDir)) {
33
- console.log('Creating capture directory');
34
- mkdirSync(captureDir, { recursive: true });
35
- }
36
- const buildContextDir = resolve(tmpdir(), `build-context-${Date.now()}`);
37
- mkdirSync(buildContextDir, { recursive: true });
38
- execSync(`cp ${projectDir}/*.json ${buildContextDir}/`);
39
- execSync(`cp ${utilDir}/*.sh ${utilDir}/kokoro-speak.cjs ${buildContextDir}/`);
40
- const dirsToMount = [...includeDirs, 'capture'];
41
- const composeVolumes = [
42
- `${projectDir}/capture:/app/capture`,
43
- `${projectDir}:/app/output`,
44
- ...dirsToMount.map(dir => `${resolve(projectDir, dir)}:/app/${dir}`)
45
- ];
46
- const composeEnvironment = [
47
- 'DISPLAY=:99',
48
- `RES=${thisRunOptions.res}`,
49
- `${HOST_PROJECT_DIR}=${projectDir}`,
50
- `COMMAND_TO_RECORD=${HOST_PROJECT_DIR}="${projectDir}" HAIBUN_LOG_LEVEL=log ${haibunEnvc} npm run ${testToRun} ${filter}`
51
- ];
52
- if (thisRunOptions.tts) {
53
- composeEnvironment.push('HAIBUN_O_HAIBUN_TTS_CMD=/app/speak-to-wav.sh @WHAT@', 'HAIBUN_O_HAIBUN_TTS_PLAY=aplay @WHAT@');
54
- }
55
- if (thisRunOptions.capture) {
56
- composeEnvironment.push('HAIBUN_O_HAIBUN_CAPTURE_START=/app/capture-start.sh', 'HAIBUN_O_HAIBUN_CAPTURE_STOP=/app/capture-stop.sh');
57
- }
58
- const composeFile = `
59
- services:
60
- haibun-recorder:
61
- build:
62
- context: ${buildContextDir}
63
- dockerfile: ${utilDir}/Dockerfile
64
- volumes:
65
- ${asYamlOptions(composeVolumes)}
66
- environment:
67
- ${(asYamlOptions(composeEnvironment))}
68
- `;
69
- writeFileSync(tmpFile, composeFile);
70
- console.log(`Building then starting vcapture container using ${utilDir}`);
71
- console.log(`Mounting directories:\n${composeVolumes}`);
72
- try {
73
- const cmd = `docker compose -f docker-compose.yml -f ${tmpFile} up ${thisRunOptions.recreate ? '--force-recreate --build' : ''}`;
74
- console.log('building with:', cmd);
75
- execSync(cmd, {
76
- cwd: utilDir,
77
- stdio: 'inherit',
78
- env: {
79
- ...process.env,
80
- CURRENT_DIR: projectDir,
81
- }
82
- });
83
- }
84
- finally {
85
- unlinkSync(tmpFile);
86
- execSync(`rm -rf ${buildContextDir}`);
87
- }
88
- }
89
- catch (error) {
90
- console.error('Error:', error.stderr?.toString() || error.message);
91
- process.exit(1);
92
- }
93
- };
94
- function asYamlOptions(options) {
95
- return options.map(o => ` - ${o}`).join('\n');
96
- }
97
- export function parseVCaptureArgs(args, printHelp) {
98
- const runOptions = {
99
- recreate: false,
100
- tts: false,
101
- capture: true,
102
- res: '1280x720',
103
- passEnv: undefined
104
- };
105
- args.reduce((acc, arg) => {
106
- if (arg.startsWith('--')) {
107
- const [what, ...v] = arg.split('=');
108
- const value = v.join('=');
109
- if (what === '--recreate') {
110
- runOptions.recreate = value !== 'false';
111
- return acc;
112
- }
113
- else if (what === '--tts') {
114
- runOptions.tts = value !== 'false';
115
- return acc;
116
- }
117
- else if (what === '--no-capture') {
118
- runOptions.capture = false;
119
- return acc;
120
- }
121
- else if (what === '--pass-env') {
122
- runOptions.passEnv = value || args.shift();
123
- return acc;
124
- }
125
- else if (what === '--res') {
126
- const res = value || args.shift();
127
- if (res && res.match(/^\d+x\d+$/)) {
128
- runOptions.res = res;
129
- return acc;
130
- }
131
- console.error(`Missing or incorrect WxH value for --res: ${res}`);
132
- printHelp();
133
- }
134
- else if (arg === '--help') {
135
- printHelp(0);
136
- }
137
- console.error(`unknown -- arg ${arg}`);
138
- printHelp();
139
- }
140
- return [...acc, arg];
141
- }, []);
142
- const [testToRun, filter, ...includeDirs] = args;
143
- if (!testToRun || includeDirs.length === 0) {
144
- printHelp();
145
- }
146
- return { runOptions, testToRun, filter, includeDirs };
147
- }
148
- const args = process.argv.slice(2);
149
- const { runOptions: TRunOptions, testToRun, filter, includeDirs, runOptions } = parseVCaptureArgs(args, printHelp);
150
- runContainer(testToRun, filter, includeDirs, runOptions);
151
- function printHelp(exitCode = 1) {
152
- console.error(`Usage: ${process.argv[1]} [--pass-env] [--recreate[=boolean]] [--tts[=boolean]] [--no-capture] [--help] [--res WxH] script filter features files ...`);
153
- process.exit(exitCode);
154
- }
155
- //# sourceMappingURL=run-vcapture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-vcapture.js","sourceRoot":"","sources":["../../src/vcapture/run-vcapture.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAc,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;IAC/C,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;AACF,CAAC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,cAA2B,EAAE,EAAE;IAChG,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,2BAA2B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,UAAU,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,UAAU,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtI,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAA;QACX,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzE,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,QAAQ,CAAC,MAAM,UAAU,WAAW,eAAe,GAAG,CAAC,CAAC;QACxD,QAAQ,CAAC,MAAM,OAAO,SAAS,OAAO,qBAAqB,eAAe,GAAG,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG;YACtB,GAAG,UAAU,uBAAuB;YACpC,GAAG,UAAU,cAAc;YAC3B,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;SACpE,CAAC;QACF,MAAM,kBAAkB,GAAG;YAC1B,aAAa;YACb,OAAO,cAAc,CAAC,GAAG,EAAE;YAC3B,GAAG,gBAAgB,IAAI,UAAU,EAAE;YACnC,qBAAqB,gBAAgB,KAAK,UAAU,0BAA0B,UAAU,YAAY,SAAS,IAAI,MAAM,EAAE;SACzH,CAAC;QACF,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC;YACxB,kBAAkB,CAAC,IAAI,CACtB,qDAAqD,EACrD,uCAAuC,CACvC,CAAC;QACH,CAAC;QACD,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5B,kBAAkB,CAAC,IAAI,CACtB,qDAAqD,EACrD,mDAAmD,CACnD,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG;;;;iBAIL,eAAe;oBACZ,OAAO;;EAEzB,aAAa,CAAC,cAAc,CAAC;;EAE7B,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACpC,CAAC;QACA,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,mDAAmD,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,0BAA0B,cAAc,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,2CAA2C,OAAO,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YAChI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YACnC,QAAQ,CAAC,GAAG,EAAE;gBACb,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE;oBACJ,GAAG,OAAO,CAAC,GAAG;oBACd,WAAW,EAAE,UAAU;iBACvB;aACD,CAAC,CAAC;QACJ,CAAC;gBACO,CAAC;YACR,UAAU,CAAC,OAAO,CAAC,CAAC;YACpB,QAAQ,CAAC,UAAU,eAAe,EAAE,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC,CAAC;AACF,SAAS,aAAa,CAAC,OAAiB;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,SAAsC;IACvF,MAAM,UAAU,GAAgB;QAC/B,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,KAAK;QACV,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,UAAU;QACf,OAAO,EAAE,SAAS;KAClB,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC3B,UAAU,CAAC,QAAQ,GAAG,KAAK,KAAK,OAAO,CAAC;gBACxC,OAAO,GAAG,CAAC;YACZ,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,UAAU,CAAC,GAAG,GAAG,KAAK,KAAK,OAAO,CAAC;gBACnC,OAAO,GAAG,CAAC;YACZ,CAAC;iBAAM,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;gBACpC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC3B,OAAO,GAAG,CAAC;YACZ,CAAC;iBAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAClC,UAAU,CAAC,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3C,OAAO,GAAG,CAAC;YACZ,CAAC;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;oBACnC,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;oBACrB,OAAO,GAAG,CAAC;gBACZ,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;gBAClE,SAAS,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC7B,SAAS,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;YACvC,SAAS,EAAE,CAAC;QACb,CAAC;QACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,SAAS,EAAE,CAAC;IACb,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACnH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACzD,SAAS,SAAS,CAAC,QAAQ,GAAG,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,6HAA6H,CAAC,CAAC;IACtK,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/walkthrough-container/index.ts"],"names":[],"mappings":""}
@@ -1,94 +0,0 @@
1
- #!/usr/bin/env node
2
- import { getPackageLocation } from '@haibun/core/build/lib/util/workspace-lib.js';
3
- import { execSync } from 'child_process';
4
- import { resolve } from 'path';
5
- import { writeFileSync, unlinkSync, readFileSync, mkdirSync, existsSync } from 'fs';
6
- import { tmpdir } from 'os';
7
- import { HOST_PROJECT_DIR } from '@haibun/core/build/lib/defs.js';
8
- const runContainer = (testToRun, filter, includeDirs = [], recreate) => {
9
- try {
10
- const utilDir = resolve(getPackageLocation(import.meta), '..', '..', 'walkthrough-container');
11
- const projectDir = process.cwd();
12
- const tmpFile = resolve(tmpdir(), `docker-compose.override-${Date.now()}.yml`);
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
- // Ensure capture directory exists
16
- const captureDir = resolve(projectDir, 'capture');
17
- if (!existsSync(captureDir)) {
18
- console.log('Creating capture directory');
19
- mkdirSync(captureDir, { recursive: true });
20
- }
21
- // Add capture to directories to mount
22
- const dirsToMount = [...includeDirs, 'capture'];
23
- // Create docker compose config file with volumes
24
- const volumeConfig = dirsToMount.map(dir => {
25
- const sourcePath = resolve(projectDir, dir);
26
- return ` - ${sourcePath}:/app/${dir}`;
27
- }).join('\n');
28
- const buildContextDir = resolve(tmpdir(), `build-context-${Date.now()}`);
29
- mkdirSync(buildContextDir, { recursive: true });
30
- // Copy project's package files to build context
31
- execSync(`cp ${projectDir}/package*.json ${buildContextDir}/`);
32
- // Copy container files to build context
33
- execSync(`cp ${utilDir}/speak-to-wav.sh ${utilDir}/kokoro-speak.cjs ${utilDir}/entrypoint.sh ${buildContextDir}/`);
34
- const composeFile = `
35
- services:
36
- haibun-recorder:
37
- build:
38
- context: ${buildContextDir}
39
- dockerfile: ${utilDir}/Dockerfile
40
- volumes:
41
- - ${projectDir}/capture:/app/capture
42
- - ${projectDir}:/app/output
43
- ${volumeConfig}
44
- environment:
45
- - DISPLAY=:99
46
- - HAIBUN_O_HAIBUN_TTS_CMD=/app/speak-to-wav.sh @WHAT@
47
- - HAIBUN_O_HAIBUN_TTS_PLAY=aplay @WHAT@
48
- - ${HOST_PROJECT_DIR}=${projectDir}
49
- - COMMAND_TO_RECORD=${HOST_PROJECT_DIR}="${projectDir}" HAIBUN_LOG_LEVEL=log ${haibunEnvc} npm run ${testToRun} ${filter}
50
- `;
51
- writeFileSync(tmpFile, composeFile);
52
- console.log(`Building then starting walkthrough container using ${utilDir}`);
53
- console.log(`Mounting directories:\n${volumeConfig}`);
54
- try {
55
- execSync(`docker compose -f docker-compose.yml -f ${tmpFile} up --build ${recreate ? '--force-recreate' : ''}`, {
56
- cwd: utilDir,
57
- stdio: 'inherit',
58
- env: {
59
- ...process.env,
60
- CURRENT_DIR: projectDir,
61
- }
62
- });
63
- }
64
- finally {
65
- unlinkSync(tmpFile);
66
- execSync(`rm -rf ${buildContextDir}`);
67
- }
68
- }
69
- catch (error) {
70
- console.error('Error:', error.stderr?.toString() || error.message);
71
- process.exit(1);
72
- }
73
- };
74
- let recreate = false;
75
- const args = process.argv.slice(2).reduce((acc, arg) => {
76
- if (arg === '--recreate') {
77
- recreate = true;
78
- return acc;
79
- }
80
- else if (arg === '--help') {
81
- printHelp();
82
- }
83
- return [...acc, arg];
84
- }, []);
85
- const [testToRun, filter, ...includeDirs] = args;
86
- if (!testToRun || includeDirs.length === 0) {
87
- printHelp();
88
- }
89
- runContainer(testToRun, filter, includeDirs, recreate);
90
- function printHelp() {
91
- console.error(`Usage: ${process.argv[1]} [--rebuild] script filter features files ...`);
92
- process.exit(1);
93
- }
94
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/walkthrough-container/index.ts"],"names":[],"mappings":"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"}