@tui-sandbox/library 10.6.1 → 10.7.0
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.
- package/CHANGELOG.md +7 -0
- package/dist/src/server/TestServer.js +7 -5
- package/dist/src/server/TestServer.js.map +1 -1
- package/dist/src/server/applications/neovim/NeovimApplication.js +6 -2
- package/dist/src/server/applications/neovim/NeovimApplication.js.map +1 -1
- package/dist/src/server/applications/neovim/NeovimJavascriptApiClient.js +2 -2
- package/dist/src/server/applications/neovim/NeovimJavascriptApiClient.js.map +1 -1
- package/dist/src/server/applications/neovim/api.js +15 -6
- package/dist/src/server/applications/neovim/api.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/createTempDir.js +3 -1
- package/dist/src/server/applications/neovim/environment/createTempDir.js.map +1 -1
- package/dist/src/server/applications/neovim/prepareNewTestDirectory.js +3 -1
- package/dist/src/server/applications/neovim/prepareNewTestDirectory.js.map +1 -1
- package/dist/src/server/applications/terminal/TerminalTestApplication.js +3 -1
- package/dist/src/server/applications/terminal/TerminalTestApplication.js.map +1 -1
- package/dist/src/server/applications/terminal/runBlockingShellCommand.js +3 -2
- package/dist/src/server/applications/terminal/runBlockingShellCommand.js.map +1 -1
- package/dist/src/server/cypress-support/createCypressSupportFile.js +5 -3
- package/dist/src/server/cypress-support/createCypressSupportFile.js.map +1 -1
- package/dist/src/server/dirtree/index.js +3 -1
- package/dist/src/server/dirtree/index.js.map +1 -1
- package/dist/src/server/updateTestdirectorySchemaFile.js +3 -1
- package/dist/src/server/updateTestdirectorySchemaFile.js.map +1 -1
- package/dist/src/server/utilities/DisposableSingleApplication.js +3 -1
- package/dist/src/server/utilities/DisposableSingleApplication.js.map +1 -1
- package/dist/src/server/utilities/TerminalApplication.js +6 -4
- package/dist/src/server/utilities/TerminalApplication.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/server/TestServer.ts +7 -5
- package/src/server/applications/neovim/NeovimApplication.ts +7 -2
- package/src/server/applications/neovim/NeovimJavascriptApiClient.ts +4 -2
- package/src/server/applications/neovim/api.ts +16 -6
- package/src/server/applications/neovim/environment/createTempDir.ts +4 -1
- package/src/server/applications/neovim/prepareNewTestDirectory.ts +4 -1
- package/src/server/applications/terminal/TerminalTestApplication.ts +4 -1
- package/src/server/applications/terminal/runBlockingShellCommand.ts +4 -2
- package/src/server/cypress-support/createCypressSupportFile.ts +6 -3
- package/src/server/dirtree/index.ts +3 -1
- package/src/server/updateTestdirectorySchemaFile.ts +4 -1
- package/src/server/utilities/DisposableSingleApplication.ts +4 -1
- package/src/server/utilities/TerminalApplication.ts +7 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [10.7.0](https://github.com/mikavilpas/tui-sandbox/compare/library-v10.6.1...library-v10.7.0) (2025-06-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* reduce debug related log noise in the terminal ([#478](https://github.com/mikavilpas/tui-sandbox/issues/478)) ([dd17208](https://github.com/mikavilpas/tui-sandbox/commit/dd172088d34cb32e2cb0e31dbb0e63b4e2b266f3))
|
|
9
|
+
|
|
3
10
|
## [10.6.1](https://github.com/mikavilpas/tui-sandbox/compare/library-v10.6.0...library-v10.6.1) (2025-06-26)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -5,15 +5,17 @@ import express from "express";
|
|
|
5
5
|
import { accessSync } from "fs";
|
|
6
6
|
import path from "path";
|
|
7
7
|
import { fileURLToPath } from "url";
|
|
8
|
+
import { debuglog } from "util";
|
|
8
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
10
|
const __dirname = path.dirname(__filename);
|
|
11
|
+
const log = debuglog("tui-sandbox.TestServer");
|
|
10
12
|
export class TestServer {
|
|
11
13
|
settings;
|
|
12
14
|
constructor(settings) {
|
|
13
15
|
this.settings = settings;
|
|
14
16
|
}
|
|
15
17
|
async startAndRun(appRouter) {
|
|
16
|
-
|
|
18
|
+
log("🚀 Server starting");
|
|
17
19
|
const app = express();
|
|
18
20
|
app.use("/trpc", trpcExpress.createExpressMiddleware({
|
|
19
21
|
router: appRouter,
|
|
@@ -30,7 +32,7 @@ export class TestServer {
|
|
|
30
32
|
catch (e) {
|
|
31
33
|
// This is normal when developing the tui-sandbox library locally. It
|
|
32
34
|
// should always exist when using it as an npm package, however.
|
|
33
|
-
console.
|
|
35
|
+
console.warn(`⚠️ Warning: Looks like the tui-sandbox root contents directory is not accessible at: ${publicPath}`);
|
|
34
36
|
}
|
|
35
37
|
// eslint-disable-next-line import-x/no-named-as-default-member
|
|
36
38
|
app.use(express.static(publicPath));
|
|
@@ -40,15 +42,15 @@ export class TestServer {
|
|
|
40
42
|
res.send("pong");
|
|
41
43
|
});
|
|
42
44
|
const server = app.listen(this.settings.port, "0.0.0.0");
|
|
43
|
-
console.
|
|
45
|
+
console.info(`✅ Server listening on port ${this.settings.port}`);
|
|
44
46
|
await Promise.race([once(process, "SIGTERM"), once(process, "SIGINT")]);
|
|
45
|
-
|
|
47
|
+
log("😴 Shutting down...");
|
|
46
48
|
server.close(error => {
|
|
47
49
|
if (error) {
|
|
48
50
|
console.error("Error closing server", error);
|
|
49
51
|
process.exit(1);
|
|
50
52
|
}
|
|
51
|
-
|
|
53
|
+
log("Server closed");
|
|
52
54
|
process.exit(0);
|
|
53
55
|
});
|
|
54
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestServer.js","sourceRoot":"","sources":["../../../src/server/TestServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAC5D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"TestServer.js","sourceRoot":"","sources":["../../../src/server/TestServer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAC5D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAM/B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAA;AAE9C,MAAM,OAAO,UAAU;IACe;IAApC,YAAoC,QAA4B;QAA5B,aAAQ,GAAR,QAAQ,CAAoB;IAAG,CAAC;IAE7D,KAAK,CAAC,WAAW,CAAC,SAAwB;QAC/C,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAEzB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,GAAG,CAAC,GAAG,CACL,OAAO,EACP,WAAW,CAAC,uBAAuB,CAAC;YAClC,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACzB,UAAU,EAAE,IAAI,CAAC;gBACf,MAAM,EAAE,GAAG;aACZ,CAAC;SACH,CAAC,CACH,CAAA;QAED,CAAC;YACC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;YACjE,IAAI,CAAC;gBACH,UAAU,CAAC,UAAU,CAAC,CAAA;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,qEAAqE;gBACrE,gEAAgE;gBAChE,OAAO,CAAC,IAAI,CACV,wFAAwF,UAAU,EAAE,CACrG,CAAA;YACH,CAAC;YAED,+DAA+D;YAC/D,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QACrC,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YAC1B,uEAAuE;YACvE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAExD,OAAO,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;QAEhE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvE,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAC1B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,GAAG,CAAC,eAAe,CAAC,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -4,9 +4,11 @@ import EventEmitter from "events";
|
|
|
4
4
|
import { access } from "fs/promises";
|
|
5
5
|
import { tmpdir } from "os";
|
|
6
6
|
import path, { join } from "path";
|
|
7
|
+
import { debuglog } from "util";
|
|
7
8
|
import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
|
|
8
9
|
import { TerminalApplication } from "../../utilities/TerminalApplication.js";
|
|
9
10
|
import { connectNeovimApi } from "./NeovimJavascriptApiClient.js";
|
|
11
|
+
const log = debuglog("tui-sandbox-neovim-application");
|
|
10
12
|
export class NeovimApplication {
|
|
11
13
|
testEnvironmentPath;
|
|
12
14
|
application;
|
|
@@ -80,7 +82,7 @@ export class NeovimApplication {
|
|
|
80
82
|
socketPath,
|
|
81
83
|
client: connectNeovimApi(socketPath),
|
|
82
84
|
};
|
|
83
|
-
|
|
85
|
+
log(`🚀 Started Neovim instance ${processId}`);
|
|
84
86
|
}
|
|
85
87
|
getEnvironmentVariables(testDirectory, additionalEnvironmentVariables) {
|
|
86
88
|
return {
|
|
@@ -103,7 +105,9 @@ export class NeovimApplication {
|
|
|
103
105
|
exec(`rm -rf ${this.state.testDirectory.rootPathAbsolute}`);
|
|
104
106
|
try {
|
|
105
107
|
await access(this.state.socketPath);
|
|
106
|
-
|
|
108
|
+
// this is probably not dangerous, but I'm not sure why it sometimes
|
|
109
|
+
// happens. It's better to report it than to hide it.
|
|
110
|
+
log(`Socket file ${this.state.socketPath} should have been removed by neovim when it exited.`);
|
|
107
111
|
return;
|
|
108
112
|
}
|
|
109
113
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeovimApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/NeovimApplication.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"NeovimApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/NeovimApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,11 +21,11 @@ export function connectNeovimApi(socketPath) {
|
|
|
21
21
|
for (let i = 0; i < 100; i++) {
|
|
22
22
|
try {
|
|
23
23
|
await access(socketPath);
|
|
24
|
-
//
|
|
24
|
+
// log(`socket file ${socketPath} created after at attempt ${i + 1}`)
|
|
25
25
|
break;
|
|
26
26
|
}
|
|
27
27
|
catch (e) {
|
|
28
|
-
//
|
|
28
|
+
// log(`polling for socket file ${socketPath} to be created (attempt ${i + 1})`)
|
|
29
29
|
await new Promise(resolve => setTimeout(resolve, 100));
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeovimJavascriptApiClient.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/NeovimJavascriptApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"NeovimJavascriptApiClient.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/NeovimJavascriptApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAQ9C,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,4EAA4E;IAC5E,WAAW;IACX,EAAE;IACF,wGAAwG;IACxG,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,KAAK,EAAE,MAAM;QACb,UAAU,EAAE;YACV,IAAI,UAAU,CAAC,OAAO,CAAC;gBACrB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;aAC3D,CAAC;SACH;KACF,CAAC,CAAA;IAEF,0EAA0E;IAC1E,mDAAmD;IACnD,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;gBACxB,qEAAqE;gBACrE,MAAK;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gFAAgF;gBAChF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAA6B,CAAC,CAAC,CAAA;YAClF,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,QAAQ;QACR,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,GAAG,CAAA;QAElC,OAAO,MAAM,CAAC;YACZ,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE;gBACP,MAAM;aACP;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -54,6 +54,7 @@ import assert from "assert";
|
|
|
54
54
|
import "core-js/proposals/async-explicit-resource-management.js";
|
|
55
55
|
import { access } from "fs/promises";
|
|
56
56
|
import path from "path";
|
|
57
|
+
import { debuglog } from "util";
|
|
57
58
|
import { convertEventEmitterToAsyncGenerator } from "../../utilities/generator.js";
|
|
58
59
|
import { Lazy } from "../../utilities/Lazy.js";
|
|
59
60
|
import { timeout } from "../../utilities/timeout.js";
|
|
@@ -64,6 +65,7 @@ const neovims = new Map();
|
|
|
64
65
|
const resources = new Lazy(() => {
|
|
65
66
|
return new AsyncDisposableStack();
|
|
66
67
|
});
|
|
68
|
+
const log = debuglog("tui-sandbox.neovim.api");
|
|
67
69
|
export async function installDependencies(testEnvironmentPath, config) {
|
|
68
70
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
69
71
|
try {
|
|
@@ -74,9 +76,14 @@ export async function installDependencies(testEnvironmentPath, config) {
|
|
|
74
76
|
await access(prepareFilePath);
|
|
75
77
|
}
|
|
76
78
|
catch (e) {
|
|
79
|
+
// show the output here because it's typically shown in the console before
|
|
80
|
+
// the tests start. It's also sensitive to outside changes.
|
|
81
|
+
//
|
|
82
|
+
// eslint-disable-next-line no-restricted-properties
|
|
77
83
|
console.log(`Neovim prepareFilePath does not exist: ${prepareFilePath}. If you want to run a prepare script before starting the tests, create it.`);
|
|
78
84
|
return;
|
|
79
85
|
}
|
|
86
|
+
// eslint-disable-next-line no-restricted-properties
|
|
80
87
|
console.log(`🚀 Running Neovim prepareFilePath ${prepareFilePath}...`);
|
|
81
88
|
let output = "";
|
|
82
89
|
app.events.on("stdout", data => {
|
|
@@ -86,7 +93,9 @@ export async function installDependencies(testEnvironmentPath, config) {
|
|
|
86
93
|
});
|
|
87
94
|
await app.startNextAndKillCurrent(testDirectory, { filename: "empty.txt", headlessCmd: `lua dofile("${prepareFilePath}")` }, { cols: 80, rows: 24 });
|
|
88
95
|
await app.application.untilExit();
|
|
96
|
+
// eslint-disable-next-line no-restricted-properties
|
|
89
97
|
console.log(`🚀 Neovim installDependencies output:`);
|
|
98
|
+
// eslint-disable-next-line no-restricted-properties
|
|
90
99
|
console.log(output);
|
|
91
100
|
}
|
|
92
101
|
catch (e_1) {
|
|
@@ -147,7 +156,7 @@ export async function runLuaCode(options) {
|
|
|
147
156
|
if (!api) {
|
|
148
157
|
throw new Error(`Neovim API not available for client id ${options.tabId.tabId}. Maybe it's not started yet?`);
|
|
149
158
|
}
|
|
150
|
-
|
|
159
|
+
log(`Neovim ${neovim.application.processId()} running Lua code: ${options.luaCode}`);
|
|
151
160
|
try {
|
|
152
161
|
const value = await api.lua(options.luaCode);
|
|
153
162
|
return { value };
|
|
@@ -165,10 +174,10 @@ export async function waitForLuaCode(options, signal) {
|
|
|
165
174
|
if (!api) {
|
|
166
175
|
throw new Error(`Neovim API not available for client id ${options.tabId.tabId}. Maybe it's not started yet?`);
|
|
167
176
|
}
|
|
168
|
-
|
|
177
|
+
log(`Neovim ${neovim.application.processId()} polling Lua code: ${options.luaAssertion}`);
|
|
169
178
|
let running = true;
|
|
170
179
|
signal?.addEventListener("abort", () => {
|
|
171
|
-
|
|
180
|
+
log(`Polling Lua code: '${options.luaAssertion}' was aborted via signal`);
|
|
172
181
|
running = false;
|
|
173
182
|
});
|
|
174
183
|
const failureMessages = [];
|
|
@@ -184,7 +193,7 @@ export async function waitForLuaCode(options, signal) {
|
|
|
184
193
|
}
|
|
185
194
|
try {
|
|
186
195
|
const value = await api.lua(options.luaAssertion);
|
|
187
|
-
console.
|
|
196
|
+
console.info(`Lua code assertion passed: ${options.luaAssertion} (iteration ${iteration})`);
|
|
188
197
|
return { value };
|
|
189
198
|
}
|
|
190
199
|
catch (e) {
|
|
@@ -203,11 +212,11 @@ export async function runExCommand(options) {
|
|
|
203
212
|
if (!api) {
|
|
204
213
|
throw new Error(`Neovim API not available for client id ${options.tabId.tabId}. Maybe it's not started yet?`);
|
|
205
214
|
}
|
|
206
|
-
|
|
215
|
+
log(`Neovim ${neovim.application.processId()} running Ex command: ${options.command}`);
|
|
207
216
|
try {
|
|
208
217
|
const output = await api.commandOutput(options.command);
|
|
209
218
|
if (options.log) {
|
|
210
|
-
console.
|
|
219
|
+
console.info(`:${options.command} output: ${output}`);
|
|
211
220
|
}
|
|
212
221
|
return { value: output };
|
|
213
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,yDAAyD,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,10 @@ import { Type } from "dree";
|
|
|
4
4
|
import { constants, readdirSync, statSync } from "fs";
|
|
5
5
|
import { access, mkdir, mkdtemp } from "fs/promises";
|
|
6
6
|
import path from "path";
|
|
7
|
+
import { debuglog } from "util";
|
|
7
8
|
import { convertDree, getDirectoryTree } from "../../../dirtree/index.js";
|
|
8
9
|
import { updateTestdirectorySchemaFile } from "../../../updateTestdirectorySchemaFile.js";
|
|
10
|
+
const log = debuglog("tui-sandbox.createTempDir");
|
|
9
11
|
export async function createTempDir(config) {
|
|
10
12
|
try {
|
|
11
13
|
// before calling this function, the testEnvironmentPath should already exist
|
|
@@ -18,7 +20,7 @@ export async function createTempDir(config) {
|
|
|
18
20
|
return;
|
|
19
21
|
execSync(`cp -R '${path.join(config.testEnvironmentPath, entry)}' ${dir}/`);
|
|
20
22
|
});
|
|
21
|
-
|
|
23
|
+
log(`Created test directory at ${dir}`);
|
|
22
24
|
const tree = convertDree(getDirectoryTree(dir).dree);
|
|
23
25
|
assert(tree.type === Type.DIRECTORY);
|
|
24
26
|
await updateTestdirectorySchemaFile(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTempDir.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/createTempDir.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAGzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAA;AAEzF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAyB;IAC3D,IAAI,CAAC;QACH,6EAA6E;QAC7E,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAEnE,WAAW,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtD,IAAI,KAAK,KAAM,UAAkC;gBAAE,OAAM;YACzD,IAAI,KAAK,KAAK,QAAQ;gBAAE,OAAM;YAE9B,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;QACF,
|
|
1
|
+
{"version":3,"file":"createTempDir.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/createTempDir.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { access, mkdir } from "fs/promises";
|
|
2
|
+
import { debuglog } from "util";
|
|
2
3
|
import { createTempDir, removeTestDirectories } from "./environment/createTempDir.js";
|
|
4
|
+
const log = debuglog("tui-sandbox.neovim.prepareNewTestDirectory");
|
|
3
5
|
export async function prepareNewTestDirectory(config) {
|
|
4
6
|
try {
|
|
5
7
|
// if the directory does not exist, create it
|
|
6
8
|
await access(config.testEnvironmentPath);
|
|
7
9
|
}
|
|
8
10
|
catch {
|
|
9
|
-
|
|
11
|
+
log(`Creating testEnvironmentPath directory at ${config.testEnvironmentPath}`);
|
|
10
12
|
await mkdir(config.testEnvironmentPath, { recursive: true });
|
|
11
13
|
}
|
|
12
14
|
await removeTestDirectories(config.testEnvironmentPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareNewTestDirectory.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/prepareNewTestDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"prepareNewTestDirectory.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/prepareNewTestDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAG/B,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAErF,MAAM,GAAG,GAAG,QAAQ,CAAC,4CAA4C,CAAC,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAyB;IACrE,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,6CAA6C,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAA;QAC9E,MAAM,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;IACjD,OAAO,aAAa,CAAA;AACtB,CAAC"}
|
|
@@ -2,8 +2,10 @@ import assert from "assert";
|
|
|
2
2
|
import { exec } from "child_process";
|
|
3
3
|
import EventEmitter from "events";
|
|
4
4
|
import { join } from "path";
|
|
5
|
+
import { debuglog } from "util";
|
|
5
6
|
import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
|
|
6
7
|
import { TerminalApplication } from "../../utilities/TerminalApplication.js";
|
|
8
|
+
const log = debuglog("tui-sandbox.terminal.TerminalTestApplication");
|
|
7
9
|
export default class TerminalTestApplication {
|
|
8
10
|
testEnvironmentPath;
|
|
9
11
|
application;
|
|
@@ -39,7 +41,7 @@ export default class TerminalTestApplication {
|
|
|
39
41
|
const processId = this.application.processId();
|
|
40
42
|
assert(processId !== undefined, "TerminalApplication was started without a process ID. This is a bug - please open an issue.");
|
|
41
43
|
this.state = { testDirectory };
|
|
42
|
-
|
|
44
|
+
log(`🚀 Started Terminal instance ${processId}`);
|
|
43
45
|
}
|
|
44
46
|
getEnvironmentVariables(testDirectory, additionalEnvironmentVariables) {
|
|
45
47
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalTestApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/TerminalTestApplication.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"TerminalTestApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/TerminalTestApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { exec } from "child_process";
|
|
2
2
|
import "core-js/proposals/async-explicit-resource-management.js";
|
|
3
3
|
import { join } from "path";
|
|
4
|
-
import util from "util";
|
|
4
|
+
import util, { debuglog } from "util";
|
|
5
|
+
const log = debuglog("tui-sandbox.terminal.runBlockingShellCommand");
|
|
5
6
|
export async function executeBlockingShellCommand(testDirectory, input, signal, allowFailure, env) {
|
|
6
7
|
const execPromise = util.promisify(exec);
|
|
7
8
|
const cwd = getCwd({
|
|
@@ -19,7 +20,7 @@ export async function executeBlockingShellCommand(testDirectory, input, signal,
|
|
|
19
20
|
cwd,
|
|
20
21
|
env,
|
|
21
22
|
});
|
|
22
|
-
|
|
23
|
+
log(`Successfully ran shell blockingCommand (${input.command}) in cwd: '${cwd}' with stdout: ${result.stdout}, stderr: ${result.stderr}`);
|
|
23
24
|
return {
|
|
24
25
|
type: "success",
|
|
25
26
|
stdout: result.stdout,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runBlockingShellCommand.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/runBlockingShellCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,yDAAyD,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"runBlockingShellCommand.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/runBlockingShellCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,yDAAyD,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAIrC,MAAM,GAAG,GAAG,QAAQ,CAAC,8CAA8C,CAAC,CAAA;AAEpE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAA4B,EAC5B,KAA2B,EAC3B,MAA+B,EAC/B,YAAqB,EACrB,GAAsB;IAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAExC,MAAM,GAAG,GAAG,MAAM,CAAC;QACjB,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;QAChD,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,GAAG;QACtB,IAAI,EAAE,aAAa,CAAC,gBAAgB;KACrC,CAAC,CAAA;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG;YACH,GAAG;SACJ,CAAC,CAAA;QACF,GAAG,CACD,2CAA2C,KAAK,CAAC,OAAO,cAAc,GAAG,kBAAkB,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,CACrI,CAAA;QACD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACe,CAAA;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,wCAAwC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAA;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,QAAQ;aACf,CAAA;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,CAAC,OAAO,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IACzF,CAAC;AACH,CAAC;AAQD,MAAM,UAAU,MAAM,CAAC,IAAqB;IAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAA;AACtC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync } from "fs";
|
|
2
2
|
import { mkdir, stat } from "fs/promises";
|
|
3
3
|
import path from "path";
|
|
4
|
+
import { debuglog } from "util";
|
|
4
5
|
import { createCypressSupportFileContents } from "./contents.js";
|
|
6
|
+
const log = debuglog("tui-sandbox.dirtree");
|
|
5
7
|
/**
|
|
6
8
|
* This is the interface of tui-sandbox as far as cypress in the user's
|
|
7
9
|
* application is concerned. It needs to be checked for changes once per
|
|
@@ -14,7 +16,7 @@ export async function createCypressSupportFile({ cypressSupportDirectoryPath, su
|
|
|
14
16
|
await stat(configModificationsDirectoryPath);
|
|
15
17
|
}
|
|
16
18
|
catch (error) {
|
|
17
|
-
console.
|
|
19
|
+
console.info(`Creating config-modifications directory at ${configModificationsDirectoryPath}. You can put Neovim startup scripts into this directory, and load them when starting your Neovim test.`);
|
|
18
20
|
await mkdir(configModificationsDirectoryPath, { recursive: true });
|
|
19
21
|
}
|
|
20
22
|
const text = await createCypressSupportFileContents();
|
|
@@ -24,13 +26,13 @@ export async function createCypressSupportFile({ cypressSupportDirectoryPath, su
|
|
|
24
26
|
oldSchema = readFileSync(outputFilePath, "utf-8");
|
|
25
27
|
}
|
|
26
28
|
catch (error) {
|
|
27
|
-
console.
|
|
29
|
+
console.warn(`No existing cypress support file found at ${outputFilePath}`);
|
|
28
30
|
}
|
|
29
31
|
if (oldSchema !== text) {
|
|
30
32
|
// it's important to not write the file if the schema hasn't changed
|
|
31
33
|
// because file watchers will trigger on file changes and we don't want to
|
|
32
34
|
// trigger a build if the schema hasn't changed
|
|
33
|
-
|
|
35
|
+
log(`🪛 Writing cypress support file to ${outputFilePath}`);
|
|
34
36
|
writeFileSync(outputFilePath, text);
|
|
35
37
|
return "updated";
|
|
36
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCypressSupportFile.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/createCypressSupportFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"createCypressSupportFile.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/createCypressSupportFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAEhE,MAAM,GAAG,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAA;AAS3C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,2BAA2B,EAC3B,eAAe,GACc;IAC7B,4DAA4D;IAC5D,MAAM,gCAAgC,GAAG,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CAAA;IACvG,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,8CAA8C,gCAAgC,yGAAyG,CACxL,CAAA;QACD,MAAM,KAAK,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,gCAAgC,EAAE,CAAA;IAErD,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAA;IAC9E,IAAI,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,6CAA6C,cAAc,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,oEAAoE;QACpE,0EAA0E;QAC1E,+CAA+C;QAC/C,GAAG,CAAC,sCAAsC,cAAc,EAAE,CAAC,CAAA;QAC3D,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACnC,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -2,7 +2,9 @@ import { scan, Type } from "dree";
|
|
|
2
2
|
import { readlinkSync } from "fs";
|
|
3
3
|
import { format, resolveConfig } from "prettier";
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
|
+
import { debuglog } from "util";
|
|
5
6
|
import { jsonToZod } from "./json-to-zod.js";
|
|
7
|
+
const log = debuglog("tui-sandbox.dirtree");
|
|
6
8
|
/** Convert a directory tree to a TypeScript type. This is useful for testing
|
|
7
9
|
* as the initial state of the test directory is fully known in tests. */
|
|
8
10
|
export function getDirectoryTree(path) {
|
|
@@ -78,7 +80,7 @@ export async function buildSchemaForDirectoryTree(result, name) {
|
|
|
78
80
|
}
|
|
79
81
|
const __filename = fileURLToPath(import.meta.url);
|
|
80
82
|
export async function buildTestDirectorySchema(testDirectoryPath) {
|
|
81
|
-
|
|
83
|
+
log("Building schema for test directory", testDirectoryPath);
|
|
82
84
|
const dree = getDirectoryTree(testDirectoryPath);
|
|
83
85
|
let text = await buildSchemaForDirectoryTree(dree, "MyTestDirectory");
|
|
84
86
|
const options = await resolveConfig(__filename);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync } from "fs";
|
|
2
|
+
import { debuglog } from "util";
|
|
2
3
|
import { buildTestDirectorySchema } from "./dirtree/index.js";
|
|
4
|
+
const log = debuglog("tui-sandbox.updateTestdirectorySchemaFile");
|
|
3
5
|
export async function updateTestdirectorySchemaFile({ testEnvironmentPath, outputFilePath, }) {
|
|
4
6
|
const newSchema = await buildTestDirectorySchema(testEnvironmentPath);
|
|
5
7
|
let oldSchema = "";
|
|
@@ -7,7 +9,7 @@ export async function updateTestdirectorySchemaFile({ testEnvironmentPath, outpu
|
|
|
7
9
|
oldSchema = readFileSync(outputFilePath, "utf-8");
|
|
8
10
|
}
|
|
9
11
|
catch (error) {
|
|
10
|
-
|
|
12
|
+
log("No existing schema file found, creating a new one");
|
|
11
13
|
}
|
|
12
14
|
if (oldSchema !== newSchema) {
|
|
13
15
|
// it's important to not write the file if the schema hasn't changed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateTestdirectorySchemaFile.js","sourceRoot":"","sources":["../../../src/server/updateTestdirectorySchemaFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"updateTestdirectorySchemaFile.js","sourceRoot":"","sources":["../../../src/server/updateTestdirectorySchemaFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,MAAM,GAAG,GAAG,QAAQ,CAAC,2CAA2C,CAAC,CAAA;AAcjE,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,EAClD,mBAAmB,EACnB,cAAc,GACI;IAClB,MAAM,SAAS,GAAW,MAAM,wBAAwB,CAAC,mBAAmB,CAAC,CAAA;IAC7E,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,IAAI,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,mDAAmD,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,oEAAoE;QACpE,0EAA0E;QAC1E,+CAA+C;QAC/C,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
|
+
import { debuglog } from "util";
|
|
3
|
+
const log = debuglog("tui-sandbox.DisposableSingleApplication");
|
|
2
4
|
/** A testable application that can be started, killed, and given input. For a
|
|
3
5
|
* single instance of this interface, only a single instance can be running at
|
|
4
6
|
* a time.
|
|
@@ -25,7 +27,7 @@ export class DisposableSingleApplication {
|
|
|
25
27
|
if (this.processId() === undefined) {
|
|
26
28
|
return;
|
|
27
29
|
}
|
|
28
|
-
|
|
30
|
+
log(`Killing current application ${this.processId()}...`);
|
|
29
31
|
await this.application?.killAndWait();
|
|
30
32
|
}
|
|
31
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisposableSingleApplication.js","sourceRoot":"","sources":["../../../../src/server/utilities/DisposableSingleApplication.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"DisposableSingleApplication.js","sourceRoot":"","sources":["../../../../src/server/utilities/DisposableSingleApplication.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAK/B,MAAM,GAAG,GAAG,QAAQ,CAAC,yCAAyC,CAAC,CAAA;AAE/D;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IAC5B,WAAW,CAAkC;IAEhD,KAAK,CAAC,uBAAuB,CAAC,SAA8C;QACjF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,SAAS,EAAE,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,CACJ,IAAI,CAAC,WAAW,EAChB,sGAAsG,CACvG,CAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAA;IACnC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAa;QAC9B,MAAM,CACJ,IAAI,CAAC,WAAW,EAChB,8FAA8F,CAC/F,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,CAAA;IACpC,CAAC;IAED,iDAAiD;IAC1C,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;YACnC,OAAM;QACR,CAAC;QACD,GAAG,CAAC,+BAA+B,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACzD,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAA;IACvC,CAAC;CACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createLogger, format, transports } from "winston";
|
|
2
2
|
import pty from "node-pty";
|
|
3
|
+
import { debuglog } from "util";
|
|
4
|
+
const log = debuglog("tui-sandbox.TerminalApplication");
|
|
3
5
|
// NOTE separating stdout and stderr is not supported by node-pty
|
|
4
6
|
// https://github.com/microsoft/node-pty/issues/71
|
|
5
7
|
export class TerminalApplication {
|
|
@@ -30,7 +32,7 @@ export class TerminalApplication {
|
|
|
30
32
|
}
|
|
31
33
|
/** @constructor Start a new terminal application. */
|
|
32
34
|
static start({ onStdoutOrStderr, command, args, cwd, env, dimensions, }) {
|
|
33
|
-
|
|
35
|
+
log(`Starting '${command}' with args '${args.join(" ")}' in cwd '${cwd}'`);
|
|
34
36
|
const ptyProcess = pty.spawn(command, args, {
|
|
35
37
|
name: "xterm-color",
|
|
36
38
|
cwd,
|
|
@@ -40,7 +42,7 @@ export class TerminalApplication {
|
|
|
40
42
|
});
|
|
41
43
|
ptyProcess.onData(onStdoutOrStderr);
|
|
42
44
|
ptyProcess.onExit(({ exitCode, signal }) => {
|
|
43
|
-
|
|
45
|
+
log(`Child process exited with code ${exitCode} and signal ${signal}`);
|
|
44
46
|
});
|
|
45
47
|
const processId = ptyProcess.pid;
|
|
46
48
|
if (!processId) {
|
|
@@ -59,9 +61,9 @@ export class TerminalApplication {
|
|
|
59
61
|
this.subProcess.write(data);
|
|
60
62
|
}
|
|
61
63
|
async killAndWait() {
|
|
62
|
-
|
|
64
|
+
log(`💣 Killing process ${this.processId}`);
|
|
63
65
|
this.subProcess.kill();
|
|
64
|
-
|
|
66
|
+
log(`💥 Killed process ${this.processId}`);
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
//# sourceMappingURL=TerminalApplication.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TerminalApplication.js","sourceRoot":"","sources":["../../../../src/server/utilities/TerminalApplication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAI1D,OAAO,GAAG,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"TerminalApplication.js","sourceRoot":"","sources":["../../../../src/server/utilities/TerminalApplication.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAI1D,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAG/B,MAAM,GAAG,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAA;AAIvD,iEAAiE;AACjE,kDAAkD;AAClD,MAAM,OAAO,mBAAmB;IAMX;IACD;IACA;IACA;IARF,SAAS,CAAQ;IAEjB,MAAM,CAAgB;IAEtC,YACmB,UAAgB,EACjB,gBAAwC,EACxC,SAA4B,EAC5B,IAAY;QAHX,eAAU,GAAV,UAAU,CAAM;QACjB,qBAAgB,GAAhB,gBAAgB,CAAwB;QACxC,cAAS,GAAT,SAAS,CAAmB;QAC5B,SAAI,GAAJ,IAAI,CAAQ;QAE5B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAA;QAE/B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;YACzB,UAAU,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACtC,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE;YACpC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;SACxD,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAE5B,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACzC,MAAmC,CAAA;YACnC,MAAM,GAAG,GAAG,iBAAiB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,IAAI,sBAAsB,MAAM,CAAC,QAAQ,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;YAC9H,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,qDAAqD;IAC9C,MAAM,CAAC,KAAK,CAAC,EAClB,gBAAgB,EAChB,OAAO,EACP,IAAI,EACJ,GAAG,EACH,GAAG,EACH,UAAU,GAQX;QACC,GAAG,CAAC,aAAa,OAAO,gBAAgB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,CAAA;QAE1E,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAC1C,IAAI,EAAE,aAAa;YACnB,GAAG;YACH,GAAG;YACH,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,IAAI,EAAE,UAAU,CAAC,IAAI;SACtB,CAAC,CAAA;QACF,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACnC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;YACzC,GAAG,CAAC,kCAAkC,QAAQ,eAAe,MAAM,EAAE,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAA;QAEhC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,OAAO,CAAW,OAAO,CAAC,EAAE;YAChD,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzC,8FAA8F;gBAC9F,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;YAC/B,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,CAAC,OAAwB,CAAC,CAAA;IAC9G,CAAC;IAED,qCAAqC;IAC9B,KAAK,CAAC,IAAY;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,GAAG,CAAC,sBAAsB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;QACtB,GAAG,CAAC,qBAAqB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF"}
|