@tui-sandbox/library 9.2.0 → 9.3.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 +14 -0
- package/dist/browser/assets/{index-BVkLGLTD.js → index-CwXs-hE_.js} +6 -6
- package/dist/browser/index.html +1 -1
- package/dist/src/browser/neovim-client.d.ts +2 -1
- package/dist/src/browser/neovim-client.js.map +1 -1
- package/dist/src/client/neovim-terminal-client.d.ts +2 -1
- package/dist/src/client/neovim-terminal-client.js.map +1 -1
- package/dist/src/client/terminal-terminal-client.d.ts +1 -1
- package/dist/src/client/terminal-terminal-client.js.map +1 -1
- package/dist/src/server/blockingCommandInputSchema.d.ts +70 -0
- package/dist/src/server/blockingCommandInputSchema.js +20 -0
- package/dist/src/server/blockingCommandInputSchema.js.map +1 -0
- package/dist/src/server/blockingCommandInputSchema.test.d.ts +1 -0
- package/dist/src/server/blockingCommandInputSchema.test.js +22 -0
- package/dist/src/server/blockingCommandInputSchema.test.js.map +1 -0
- package/dist/src/server/cypress-support/contents.js +27 -9
- package/dist/src/server/cypress-support/contents.js.map +1 -1
- package/dist/src/server/neovim/index.d.ts +2 -1
- package/dist/src/server/neovim/index.js +1 -1
- package/dist/src/server/neovim/index.js.map +1 -1
- package/dist/src/server/server.d.ts +15 -53
- package/dist/src/server/server.js +1 -11
- package/dist/src/server/server.js.map +1 -1
- package/dist/src/server/terminal/index.d.ts +1 -1
- package/dist/src/server/terminal/index.js +1 -1
- package/dist/src/server/terminal/index.js.map +1 -1
- package/dist/src/server/terminal/runBlockingShellCommand.d.ts +10 -3
- package/dist/src/server/terminal/runBlockingShellCommand.js +21 -10
- package/dist/src/server/terminal/runBlockingShellCommand.js.map +1 -1
- package/dist/src/server/terminal/runBlockingShellCommand.test.d.ts +1 -0
- package/dist/src/server/terminal/runBlockingShellCommand.test.js +35 -0
- package/dist/src/server/terminal/runBlockingShellCommand.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/browser/neovim-client.ts +2 -1
- package/src/client/neovim-terminal-client.ts +2 -6
- package/src/client/terminal-terminal-client.ts +2 -1
- package/src/server/blockingCommandInputSchema.test.ts +23 -0
- package/src/server/blockingCommandInputSchema.ts +28 -0
- package/src/server/cypress-support/contents.ts +27 -9
- package/src/server/neovim/index.ts +3 -2
- package/src/server/server.ts +1 -16
- package/src/server/terminal/index.ts +2 -2
- package/src/server/terminal/runBlockingShellCommand.test.ts +40 -0
- package/src/server/terminal/runBlockingShellCommand.ts +30 -12
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { exec } from "child_process";
|
|
2
2
|
import "core-js/proposals/async-explicit-resource-management.js";
|
|
3
|
+
import { join } from "path";
|
|
3
4
|
import util from "util";
|
|
4
|
-
export async function executeBlockingShellCommand(input, signal, allowFailure, env) {
|
|
5
|
+
export async function executeBlockingShellCommand(testDirectory, input, signal, allowFailure, env) {
|
|
5
6
|
const execPromise = util.promisify(exec);
|
|
6
|
-
const cwd =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
gid: input.gid,
|
|
12
|
-
cwd: cwd,
|
|
13
|
-
env,
|
|
7
|
+
const cwd = getCwd({
|
|
8
|
+
rootPathAbsolute: testDirectory.rootPathAbsolute,
|
|
9
|
+
cwdRelative: input.cwdRelative,
|
|
10
|
+
cwdAbsolute: input.cwd,
|
|
11
|
+
home: testDirectory.rootPathAbsolute,
|
|
14
12
|
});
|
|
15
13
|
try {
|
|
16
|
-
const result = await
|
|
14
|
+
const result = await execPromise(input.command, {
|
|
15
|
+
signal: signal,
|
|
16
|
+
shell: input.shell,
|
|
17
|
+
uid: input.uid,
|
|
18
|
+
gid: input.gid,
|
|
19
|
+
cwd,
|
|
20
|
+
env,
|
|
21
|
+
});
|
|
17
22
|
console.log(`Successfully ran shell blockingCommand (${input.command}) with stdout: ${result.stdout}, stderr: ${result.stderr}`);
|
|
18
23
|
return {
|
|
19
24
|
type: "success",
|
|
@@ -31,4 +36,10 @@ export async function executeBlockingShellCommand(input, signal, allowFailure, e
|
|
|
31
36
|
throw new Error(`Error running shell blockingCommand (${input.command})`, { cause: e });
|
|
32
37
|
}
|
|
33
38
|
}
|
|
39
|
+
export function getCwd(args) {
|
|
40
|
+
if (args.cwdRelative) {
|
|
41
|
+
return join(args.rootPathAbsolute, args.cwdRelative);
|
|
42
|
+
}
|
|
43
|
+
return args.cwdAbsolute ?? args.home;
|
|
44
|
+
}
|
|
34
45
|
//# sourceMappingURL=runBlockingShellCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runBlockingShellCommand.js","sourceRoot":"","sources":["../../../../src/server/terminal/runBlockingShellCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,yDAAyD,CAAA;AAChE,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAA2B,EAC3B,MAA+B,EAC/B,YAAqB,EACrB,GAAsB;IAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAExC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"runBlockingShellCommand.js","sourceRoot":"","sources":["../../../../src/server/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;AAIvB,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,OAAO,CAAC,GAAG,CACT,2CAA2C,KAAK,CAAC,OAAO,kBAAkB,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,CACpH,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getCwd } from "./runBlockingShellCommand.js";
|
|
2
|
+
describe("getCwd", () => {
|
|
3
|
+
it("prefers cwdRelative if it is defined", () => {
|
|
4
|
+
// in many cases this is what the user wants to do, so prefer that
|
|
5
|
+
const result = getCwd({
|
|
6
|
+
rootPathAbsolute: "/root-absolute",
|
|
7
|
+
cwdRelative: "test-cwd-relative",
|
|
8
|
+
cwdAbsolute: "/test-cwd",
|
|
9
|
+
home: "/test-home",
|
|
10
|
+
});
|
|
11
|
+
expect(result).toEqual("/root-absolute/test-cwd-relative");
|
|
12
|
+
});
|
|
13
|
+
it("falls back to cwd if cwdRelative is not defined", () => {
|
|
14
|
+
// this is used when the user wants to use absolute paths
|
|
15
|
+
const result = getCwd({
|
|
16
|
+
rootPathAbsolute: "/root-absolute",
|
|
17
|
+
cwdRelative: undefined,
|
|
18
|
+
cwdAbsolute: "/test-cwd",
|
|
19
|
+
home: "/test-home",
|
|
20
|
+
});
|
|
21
|
+
expect(result).toEqual("/test-cwd");
|
|
22
|
+
});
|
|
23
|
+
it("falls back to HOME if neither cwdRelative nor cwd are defined", () => {
|
|
24
|
+
// if the user doesn't specify anything, we default to the home directory
|
|
25
|
+
// because a directory must be present when running the command
|
|
26
|
+
const result = getCwd({
|
|
27
|
+
rootPathAbsolute: "/root-absolute",
|
|
28
|
+
cwdRelative: undefined,
|
|
29
|
+
cwdAbsolute: undefined,
|
|
30
|
+
home: "/test-home",
|
|
31
|
+
});
|
|
32
|
+
expect(result).toEqual("/test-home");
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=runBlockingShellCommand.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runBlockingShellCommand.test.js","sourceRoot":"","sources":["../../../../src/server/terminal/runBlockingShellCommand.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAErD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,kEAAkE;QAElE,MAAM,MAAM,GAAG,MAAM,CAAC;YACpB,gBAAgB,EAAE,gBAAgB;YAClC,WAAW,EAAE,mBAAmB;YAChC,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,yDAAyD;QAEzD,MAAM,MAAM,GAAG,MAAM,CAAC;YACpB,gBAAgB,EAAE,gBAAgB;YAClC,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,WAAW;YACxB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,yEAAyE;QACzE,+DAA+D;QAE/D,MAAM,MAAM,GAAG,MAAM,CAAC;YACpB,gBAAgB,EAAE,gBAAgB;YAClC,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|