@tui-sandbox/library 12.5.4 → 12.6.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.
Files changed (26) hide show
  1. package/dist/browser/assets/{index-l3HHWGC4.js → index-C1F3S38B.js} +2 -2
  2. package/dist/browser/index.html +1 -1
  3. package/dist/src/scripts/commands/commandRun.js +2 -2
  4. package/dist/src/scripts/commands/commandRun.js.map +1 -1
  5. package/dist/src/server/applications/neovim/NeovimApplication.d.ts +3 -1
  6. package/dist/src/server/applications/neovim/NeovimApplication.js +7 -2
  7. package/dist/src/server/applications/neovim/NeovimApplication.js.map +1 -1
  8. package/dist/src/server/applications/neovim/api.js +3 -1
  9. package/dist/src/server/applications/neovim/api.js.map +1 -1
  10. package/dist/src/server/applications/neovim/environment/TempDirectory.d.ts +1 -1
  11. package/dist/src/server/applications/neovim/environment/TempDirectory.js +2 -2
  12. package/dist/src/server/applications/neovim/environment/TempDirectory.js.map +1 -1
  13. package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.d.ts +25 -0
  14. package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.js +52 -0
  15. package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.js.map +1 -0
  16. package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.test.d.ts +1 -0
  17. package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.test.js +155 -0
  18. package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.test.js.map +1 -0
  19. package/dist/src/server/applications/terminal/TerminalTestApplication.d.ts +3 -1
  20. package/dist/src/server/applications/terminal/TerminalTestApplication.js +7 -3
  21. package/dist/src/server/applications/terminal/TerminalTestApplication.js.map +1 -1
  22. package/dist/src/server/applications/terminal/api.js +3 -1
  23. package/dist/src/server/applications/terminal/api.js.map +1 -1
  24. package/dist/src/server/types.d.ts +12 -0
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +11 -11
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <title>tui-sandbox integration tests</title>
6
- <script type="module" crossorigin src="/assets/index-l3HHWGC4.js"></script>
6
+ <script type="module" crossorigin src="/assets/index-C1F3S38B.js"></script>
7
7
  <link rel="stylesheet" crossorigin href="/assets/index-DeHrVVje.css">
8
8
  </head>
9
9
  <body>
@@ -1,5 +1,5 @@
1
1
  import assert from "assert";
2
- import concurrently from "concurrently";
2
+ import { concurrently } from "concurrently";
3
3
  import { debuglog } from "util";
4
4
  import * as z from "zod";
5
5
  const log = debuglog("tui-sandbox.commandRun");
@@ -13,7 +13,7 @@ export async function commandRun() {
13
13
  },
14
14
  {
15
15
  name: cypressName,
16
- command: `'wait-on --timeout 60000 http-get://127.0.0.1:3000/ping && cypress run --config baseUrl=http://127.0.0.1:3000 --quiet'`,
16
+ command: `wait-on --timeout 60000 http-get://127.0.0.1:3000/ping && cypress run --config baseUrl=http://127.0.0.1:3000 --quiet`,
17
17
  prefixColor: "yellow",
18
18
  },
19
19
  ], {
@@ -1 +1 @@
1
- {"version":3,"file":"commandRun.js","sourceRoot":"","sources":["../../../../src/scripts/commands/commandRun.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,OAAO,YAAY,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAA;AAI9C,MAAM,WAAW,GAAG,SAAS,CAAA;AAC7B,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,YAAY,CACtB;QACE;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,MAAM;SACpB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,wHAAwH;YACjI,WAAW,EAAE,QAAQ;SACtB;KACF,EACD;QACE,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QACpC,SAAS,EAAE,IAAI,EAAE,yCAAyC;QAC1D,gBAAgB,EAAE,iBAAiB,EAAE,+CAA+C;KACrF,CACF,CAAA;IAED,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CACnB,CAAC,CAAC,EAAE;QACF,GAAG,CAAC,qCAAqC,CAAC,CAAA;IAC5C,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;QACf,GAAG,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;IAC9D,CAAC,CACF,CAAA;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAA;QAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACzE,MAAM,CAAC,cAAc,EAAE,yCAAyC,CAAC,CAAA;QACjE,OAAO,cAAc,CAAC,QAAQ,CAAA;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sFAAsF;QACtF,sHAAsH;QACtH,MAAM,KAAK,GAAG,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACqC,CAAC;YACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACO,CAAC,CAC9C;aACA,KAAK,CAAC,CAAC,CAAC,CAAA;QAEX,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;QAC1E,MAAM,CAAC,cAAc,EAAE,yCAAyC,CAAC,CAAA;QAEjE,OAAO,cAAc,CAAC,QAAQ,CAAA;IAChC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"commandRun.js","sourceRoot":"","sources":["../../../../src/scripts/commands/commandRun.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAA;AAI9C,MAAM,WAAW,GAAG,SAAS,CAAA;AAC7B,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,GAAG,GAAG,YAAY,CACtB;QACE;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,MAAM;SACpB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,sHAAsH;YAC/H,WAAW,EAAE,QAAQ;SACtB;KACF,EACD;QACE,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;QACpC,SAAS,EAAE,IAAI,EAAE,yCAAyC;QAC1D,gBAAgB,EAAE,iBAAiB,EAAE,+CAA+C;KACrF,CACF,CAAA;IAED,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CACnB,CAAC,CAAC,EAAE;QACF,GAAG,CAAC,qCAAqC,CAAC,CAAA;IAC5C,CAAC,EACD,CAAC,GAAY,EAAE,EAAE;QACf,GAAG,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;IAC9D,CAAC,CACF,CAAA;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAA;QAC/B,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QACzE,MAAM,CAAC,cAAc,EAAE,yCAAyC,CAAC,CAAA;QACjE,OAAO,cAAc,CAAC,QAAQ,CAAA;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sFAAsF;QACtF,sHAAsH;QACtH,MAAM,KAAK,GAAG,CAAC;aACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACqC,CAAC;YACxD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACO,CAAC,CAC9C;aACA,KAAK,CAAC,CAAC,CAAC,CAAA;QAEX,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAA;QAC1E,MAAM,CAAC,cAAc,EAAE,yCAAyC,CAAC,CAAA;QAEjE,OAAO,cAAc,CAAC,QAAQ,CAAA;IAChC,CAAC;AACH,CAAC"}
@@ -3,6 +3,7 @@ import type { NeovimClient as NeovimApiClient } from "neovim";
3
3
  import type { TestDirectory } from "../../types.js";
4
4
  import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
5
5
  import type { Lazy } from "../../utilities/Lazy.js";
6
+ import { XdgRuntimeDirectory } from "./environment/XdgRuntimeDirectory.js";
6
7
  export type StdoutOrStderrMessage = "stdout";
7
8
  export type StartNeovimGenericArguments = {
8
9
  filename: string | {
@@ -36,6 +37,7 @@ type ResettableState = {
36
37
  NVIM_APPNAME: string | undefined;
37
38
  socketPath: string;
38
39
  client: Lazy<Promise<NeovimApiClient>>;
40
+ xdgRuntimeDirectory: XdgRuntimeDirectory;
39
41
  };
40
42
  export declare class NeovimApplication implements AsyncDisposable {
41
43
  private readonly testEnvironmentPath;
@@ -47,7 +49,7 @@ export declare class NeovimApplication implements AsyncDisposable {
47
49
  * Kill the current application and start a new one with the given arguments.
48
50
  */
49
51
  startNextAndKillCurrent(testDirectory: TestDirectory, startArgs: StartNeovimGenericArguments, terminalDimensions: TerminalDimensions): Promise<void>;
50
- static getEnvironmentVariables(testDirectory: TestDirectory, NVIM_APPNAME: string | undefined, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
52
+ static getEnvironmentVariables(testDirectory: TestDirectory, xdgRuntimeDir: string, NVIM_APPNAME: string | undefined, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
51
53
  [Symbol.asyncDispose](): Promise<void>;
52
54
  }
53
55
  export {};
@@ -7,6 +7,7 @@ import path, { join } from "path";
7
7
  import { debuglog } from "util";
8
8
  import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
9
9
  import { TerminalApplication } from "../../utilities/TerminalApplication.js";
10
+ import { XdgRuntimeDirectory } from "./environment/XdgRuntimeDirectory.js";
10
11
  import { connectNeovimApi } from "./NeovimJavascriptApiClient.js";
11
12
  const log = debuglog("tui-sandbox-neovim-application");
12
13
  export class NeovimApplication {
@@ -60,9 +61,10 @@ export class NeovimApplication {
60
61
  const id = Math.random().toString().slice(2, 8);
61
62
  const socketPath = `${tmpdir()}/tui-sandbox-nvim-socket-${id}`;
62
63
  neovimArguments.push("--listen", socketPath);
64
+ const xdgRuntimeDirectory = await XdgRuntimeDirectory.create(testDirectory.rootPathAbsolute);
63
65
  const stdout = this.events;
64
66
  await this.application.startNextAndKillCurrent(async () => {
65
- const env = NeovimApplication.getEnvironmentVariables(testDirectory, startArgs.NVIM_APPNAME, startArgs.additionalEnvironmentVariables);
67
+ const env = NeovimApplication.getEnvironmentVariables(testDirectory, xdgRuntimeDirectory.path, startArgs.NVIM_APPNAME, startArgs.additionalEnvironmentVariables);
66
68
  return TerminalApplication.start({
67
69
  command: "nvim",
68
70
  args: neovimArguments,
@@ -84,16 +86,18 @@ export class NeovimApplication {
84
86
  socketPath,
85
87
  NVIM_APPNAME: startArgs.NVIM_APPNAME,
86
88
  client: connectNeovimApi(socketPath),
89
+ xdgRuntimeDirectory,
87
90
  };
88
91
  log(`🚀 Started Neovim instance ${processId} (NVIM_APPNAME: ${startArgs.NVIM_APPNAME})`);
89
92
  }
90
- static getEnvironmentVariables(testDirectory, NVIM_APPNAME, additionalEnvironmentVariables) {
93
+ static getEnvironmentVariables(testDirectory, xdgRuntimeDir, NVIM_APPNAME, additionalEnvironmentVariables) {
91
94
  return {
92
95
  ...process.env,
93
96
  ...{
94
97
  HOME: testDirectory.rootPathAbsolute,
95
98
  XDG_CONFIG_HOME: join(testDirectory.rootPathAbsolute, ".config"),
96
99
  XDG_DATA_HOME: join(testDirectory.testEnvironmentPath, ".repro", "data"),
100
+ XDG_RUNTIME_DIR: xdgRuntimeDir,
97
101
  TUI_SANDBOX_TEST_ENVIRONMENT_PATH: testDirectory.testEnvironmentPath,
98
102
  },
99
103
  NVIM_APPNAME: NVIM_APPNAME ?? "nvim",
@@ -104,6 +108,7 @@ export class NeovimApplication {
104
108
  await this.application[Symbol.asyncDispose]();
105
109
  if (!this.state)
106
110
  return;
111
+ await this.state.xdgRuntimeDirectory[Symbol.asyncDispose]();
107
112
  exec(`rm -rf ${this.state.testDirectory.rootPathAbsolute}`);
108
113
  try {
109
114
  await access(this.state.socketPath);
@@ -1 +1 @@
1
- {"version":3,"file":"NeovimApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/NeovimApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NeovimApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/NeovimApplication.ts"],"names":[],"mappings":"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"}
@@ -146,7 +146,9 @@ export async function runBlockingShellCommand(signal, input, allowFailure) {
146
146
  assert(neovim !== undefined, `Neovim instance for clientId not found - cannot run blocking shell command. Maybe neovim's not started yet?`);
147
147
  const testDirectory = neovim.state?.testDirectory;
148
148
  assert(testDirectory, `Test directory not found for client id ${input.tabId.tabId}. Maybe neovim's not started yet?`);
149
- const env = NeovimApplication.getEnvironmentVariables(testDirectory, neovim.state?.NVIM_APPNAME, input.envOverrides);
149
+ const xdgRuntimeDirectory = neovim.state?.xdgRuntimeDirectory;
150
+ assert(xdgRuntimeDirectory, `XDG runtime directory not found for client id ${input.tabId.tabId}. Maybe neovim's not started yet?`);
151
+ const env = NeovimApplication.getEnvironmentVariables(testDirectory, xdgRuntimeDirectory.path, neovim.state?.NVIM_APPNAME, input.envOverrides);
150
152
  return executeBlockingShellCommand(testDirectory, input, signal, allowFailure, env);
151
153
  }
152
154
  export async function runLuaCode(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAU/B,OAAO,EAAE,mCAAmC,EAAE,MAAM,8BAA8B,CAAA;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAA;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAA;AAC5D,MAAM,SAAS,GAA+B,IAAI,IAAI,CAAC,GAAG,EAAE;IAC1D,OAAO,IAAI,oBAAoB,EAAE,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,YAAgC,EAAE,MAAwB;;;QAClG,MAAY,GAAG,kCAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAA,CAAA;QAC/E,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,SAAS,EAAE,YAAY,IAAI,MAAM,EAAE,aAAa,CAAC,CAAA;QACnH,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;YAC1E,2DAA2D;YAC3D,EAAE;YACF,oDAAoD;YACpD,OAAO,CAAC,GAAG,CACT,0CAA0C,eAAe,6EAA6E,CACvI,CAAA;YACD,OAAM;QACR,CAAC;QAED,oDAAoD;QACpD,OAAO,CAAC,GAAG,CAAC,qCAAqC,eAAe,KAAK,CAAC,CAAA;QAEtE,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAwC,EAAE,IAAI,CAAC,EAAE;YAC7D,MAAM,CAAC,IAAI,CAAC,CAAA;YACZ,MAAM,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAA;YAChC,MAAM,IAAI,IAAI,CAAA;QAChB,CAAC,CAAC,CAAA;QACF,MAAM,GAAG,CAAC,uBAAuB,CAC/B,aAAa,EACb;YACE,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,eAAe,eAAe,IAAI;YAC/C,YAAY;SACb,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CACvB,CAAA;QACD,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;QACjC,oDAAoD;QACpD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;QACpD,oDAAoD;QACpD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;;;;;;;;;;;CACpB;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA0B,EAC1B,MAA+B,EAC/B,mBAA2B;IAE3B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,iBAAiB,CAAC,mBAAmB,CAAC,CAAA;IAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC1B,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,mCAAmC,CAAC,MAAM,CAAC,MAAM,EAAE,QAAwC,CAAC,CAAA;IAC3G,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAAoC,EACpC,kBAAsC,EACtC,KAAY,EACZ,MAAwB;IAExB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,MAAM,EAAE,2CAA2C,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;IAExE,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,MAAM,CAAC,uBAAuB,CAAC,aAAa,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAA;IAEhF,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAuC;IACrE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CACJ,MAAM,KAAK,SAAS,EACpB,yFAAyF,CAC1F,CAAA;IACD,MAAM,CACJ,MAAM,CAAC,WAAW,EAClB,8CAA8C,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CACjG,CAAA;IAED,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAA+B,EAC/B,KAA2B,EAC3B,YAAqB;IAErB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CACJ,MAAM,KAAK,SAAS,EACpB,6GAA6G,CAC9G,CAAA;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,aAAa,CAAA;IACjD,MAAM,CAAC,aAAa,EAAE,0CAA0C,KAAK,CAAC,KAAK,CAAC,KAAK,mCAAmC,CAAC,CAAA;IAErH,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAA;IAC7D,MAAM,CACJ,mBAAmB,EACnB,iDAAiD,KAAK,CAAC,KAAK,CAAC,KAAK,mCAAmC,CACtG,CAAA;IAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,uBAAuB,CACnD,aAAa,EACb,mBAAmB,CAAC,IAAI,EACxB,MAAM,CAAC,KAAK,EAAE,YAAY,EAC1B,KAAK,CAAC,YAAY,CACnB,CAAA;IACD,OAAO,2BAA2B,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CACJ,MAAM,KAAK,SAAS,EACpB,+FAA+F,CAChG,CAAA;IACD,MAAM,CACJ,MAAM,CAAC,WAAW,EAClB,8CAA8C,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CACjG,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAA;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CAAC,CAAA;IAC/G,CAAC;IAED,GAAG,CAAC,UAAU,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,sBAAsB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IACpF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,EAAE,KAAK,EAAE,CAAA;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC7D,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAyB,EACzB,MAA+B;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CACJ,MAAM,KAAK,SAAS,EACpB,8FAA8F,CAC/F,CAAA;IACD,MAAM,CACJ,MAAM,CAAC,WAAW,EAClB,8CAA8C,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CACjG,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAA;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CAAC,CAAA;IAC/G,CAAC;IAED,GAAG,CAAC,UAAU,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,sBAAsB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAEzF,IAAI,OAAO,GAAY,IAAI,CAAA;IAC3B,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACrC,GAAG,CAAC,sBAAsB,OAAO,CAAC,YAAY,0BAA0B,CAAC,CAAA;QACzE,OAAO,GAAG,KAAK,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAA;IACzC,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,YAAY,6BAA6B,EAAE,eAAe,CAAC,CAAA;IACxG,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,CAAA;IACzB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,IAAI,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC;QAChE,kGAAkG;QAClG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,aAAa,EAAE,CAAA;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,CAAC,YAAY,uBAAuB,SAAS,aAAa,CAAC,CAAA;QAC1G,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACjD,GAAG,CAAC,8BAA8B,OAAO,CAAC,YAAY,eAAe,SAAS,GAAG,CAAC,CAAA;YAElF,OAAO,EAAE,KAAK,EAAE,CAAA;QAClB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,aAAa,EAAE,CAAA;IACf,MAAM,IAAI,KAAK,CACb,sBAAsB,OAAO,CAAC,YAAY,kCAAkC,aAAa,aAAa,CACvG,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAuB;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CACJ,MAAM,KAAK,SAAS,EACpB,+FAA+F,CAChG,CAAA;IACD,MAAM,CACJ,MAAM,CAAC,WAAW,EAClB,8CAA8C,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CACjG,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAA;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CAAC,CAAA;IAC/G,CAAC;IAED,GAAG,CAAC,UAAU,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,wBAAwB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,YAAY,MAAM,EAAE,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/D,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;AACH,CAAC"}
@@ -2,6 +2,6 @@ export type TestTempDirPrefix = "test-temp-dir-";
2
2
  export declare class TempDirectory implements Disposable {
3
3
  readonly path: string;
4
4
  private constructor();
5
- static create(): TempDirectory;
5
+ static create(prefix?: `${string}-`): TempDirectory;
6
6
  [Symbol.dispose](): void;
7
7
  }
@@ -5,8 +5,8 @@ export class TempDirectory {
5
5
  constructor(path) {
6
6
  this.path = path;
7
7
  }
8
- static create() {
9
- const tmp = fs.mkdtempSync("test-temp-dir-");
8
+ static create(prefix = "test-temp-dir-") {
9
+ const tmp = fs.mkdtempSync(prefix);
10
10
  const absolutePath = nodePath.resolve(tmp);
11
11
  return new TempDirectory(absolutePath);
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TempDirectory.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/TempDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,QAAQ,MAAM,MAAM,CAAA;AAI3B,MAAM,OAAO,aAAa;IACY;IAApC,YAAoC,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,MAAM,CAAC,MAAM;QAClB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,gBAA4C,CAAC,CAAA;QACxE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1C,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC,CAAA;IACxC,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7D,CAAC;CACF"}
1
+ {"version":3,"file":"TempDirectory.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/TempDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,QAAQ,MAAM,MAAM,CAAA;AAI3B,MAAM,OAAO,aAAa;IACY;IAApC,YAAoC,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C,MAAM,CAAC,MAAM,CAAC,SAAuB,gBAA4C;QACtF,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC1C,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC,CAAA;IACxC,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7D,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ export type XdgRuntimeDirPrefix = "tui-xdg-";
2
+ /**
3
+ * A short-lived, uniquely named directory used as `$XDG_RUNTIME_DIR` for a
4
+ * single application instance. Disposing it removes the directory (and anything
5
+ * the application created inside it, such as sockets).
6
+ *
7
+ * It is created under the system temp directory. `$XDG_RUNTIME_DIR` holds Unix
8
+ * domain sockets (for example yazi's DDS `.dds.sock`), and socket paths have a
9
+ * hard OS length limit (~104 bytes on macOS, ~108 on Linux). The deep path of
10
+ * a test directory easily exceeds it, which makes `bind()` fail with
11
+ * `ENAMETOOLONG` so the socket silently never appears. Keeping this directory
12
+ * shallow leaves room for the socket name the application appends.
13
+ *
14
+ * For discoverability while debugging, a `.xdg-runtime` symlink pointing at
15
+ * {@link path} is also created inside the unique test directory. The symlink is
16
+ * never used as `$XDG_RUNTIME_DIR` itself (that is always {@link path}, the
17
+ * short one), so it does not affect the socket path length.
18
+ */
19
+ export declare class XdgRuntimeDirectory implements AsyncDisposable {
20
+ readonly path: string;
21
+ readonly symlinkPath: string;
22
+ private constructor();
23
+ static create(uniqueTestDirectory: string): Promise<XdgRuntimeDirectory>;
24
+ [Symbol.asyncDispose](): Promise<void>;
25
+ }
@@ -0,0 +1,52 @@
1
+ import { mkdtemp, rm, symlink } from "fs/promises";
2
+ import { tmpdir } from "os";
3
+ import { join } from "path";
4
+ import { debuglog } from "util";
5
+ const log = debuglog("tui-sandbox.XdgRuntimeDirectory");
6
+ /**
7
+ * A short-lived, uniquely named directory used as `$XDG_RUNTIME_DIR` for a
8
+ * single application instance. Disposing it removes the directory (and anything
9
+ * the application created inside it, such as sockets).
10
+ *
11
+ * It is created under the system temp directory. `$XDG_RUNTIME_DIR` holds Unix
12
+ * domain sockets (for example yazi's DDS `.dds.sock`), and socket paths have a
13
+ * hard OS length limit (~104 bytes on macOS, ~108 on Linux). The deep path of
14
+ * a test directory easily exceeds it, which makes `bind()` fail with
15
+ * `ENAMETOOLONG` so the socket silently never appears. Keeping this directory
16
+ * shallow leaves room for the socket name the application appends.
17
+ *
18
+ * For discoverability while debugging, a `.xdg-runtime` symlink pointing at
19
+ * {@link path} is also created inside the unique test directory. The symlink is
20
+ * never used as `$XDG_RUNTIME_DIR` itself (that is always {@link path}, the
21
+ * short one), so it does not affect the socket path length.
22
+ */
23
+ export class XdgRuntimeDirectory {
24
+ path;
25
+ symlinkPath;
26
+ constructor(path, symlinkPath) {
27
+ this.path = path;
28
+ this.symlinkPath = symlinkPath;
29
+ }
30
+ static async create(uniqueTestDirectory) {
31
+ const path = await mkdtemp(join(tmpdir(), "tui-xdg-"));
32
+ // symlink it to the unique test directory for discoverability while
33
+ // debugging
34
+ const symlinkPath = join(uniqueTestDirectory, ".xdg-runtime");
35
+ try {
36
+ await symlink(path, symlinkPath, "junction");
37
+ }
38
+ catch (e) {
39
+ // don't leak the temp directory if the symlink could not be created
40
+ await rm(path, { recursive: true, force: true, maxRetries: 5 });
41
+ throw e;
42
+ }
43
+ return new XdgRuntimeDirectory(path, symlinkPath);
44
+ }
45
+ async [Symbol.asyncDispose]() {
46
+ log(`Removing XDG_RUNTIME_DIR ${this.path}`);
47
+ await rm(this.path, { recursive: true, force: true, maxRetries: 5 });
48
+ log(`Removing XDG_RUNTIME_DIR symlink ${this.symlinkPath}`);
49
+ await rm(this.symlinkPath, { force: true });
50
+ }
51
+ }
52
+ //# sourceMappingURL=XdgRuntimeDirectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XdgRuntimeDirectory.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/XdgRuntimeDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,iCAAiC,CAAC,CAAA;AAIvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,mBAAmB;IAEZ;IACA;IAFlB,YACkB,IAAY,EACZ,WAAmB;QADnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAQ;IAClC,CAAC;IAEG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,mBAA2B;QACpD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAwC,CAAC,CAAC,CAAA;QAEpF,oEAAoE;QACpE,YAAY;QACZ,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;QAC9C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,oEAAoE;YACpE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;YAC/D,MAAM,CAAC,CAAA;QACT,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IACnD,CAAC;IAEM,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAChC,GAAG,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;QAEpE,GAAG,CAAC,oCAAoC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAC3D,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,CAAC;CACF"}
@@ -0,0 +1,155 @@
1
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
+ if (value !== null && value !== void 0) {
3
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
+ var dispose, inner;
5
+ if (async) {
6
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
+ dispose = value[Symbol.asyncDispose];
8
+ }
9
+ if (dispose === void 0) {
10
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
+ dispose = value[Symbol.dispose];
12
+ if (async) inner = dispose;
13
+ }
14
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
+ env.stack.push({ value: value, dispose: dispose, async: async });
17
+ }
18
+ else if (async) {
19
+ env.stack.push({ async: true });
20
+ }
21
+ return value;
22
+ };
23
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
+ return function (env) {
25
+ function fail(e) {
26
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
+ env.hasError = true;
28
+ }
29
+ var r, s = 0;
30
+ function next() {
31
+ while (r = env.stack.pop()) {
32
+ try {
33
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
+ if (r.dispose) {
35
+ var result = r.dispose.call(r.value);
36
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
+ }
38
+ else s |= 1;
39
+ }
40
+ catch (e) {
41
+ fail(e);
42
+ }
43
+ }
44
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
+ if (env.hasError) throw env.error;
46
+ }
47
+ return next();
48
+ };
49
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
+ var e = new Error(message);
51
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
+ });
53
+ import { existsSync, lstatSync } from "fs";
54
+ import { tmpdir } from "os";
55
+ import { join } from "path";
56
+ import { expect, it } from "vitest";
57
+ import { TempDirectory } from "./TempDirectory.js";
58
+ import { XdgRuntimeDirectory } from "./XdgRuntimeDirectory.js";
59
+ const newTestDir = () => TempDirectory.create("tui-test-");
60
+ /** Whether a symlink file exists at `path`, without following it (so a dangling
61
+ * link still counts as existing). Plain `existsSync` follows the link and would
62
+ * report `false` for a dangling symlink, hiding whether the link was removed. */
63
+ const symlinkFileExists = (path) => {
64
+ try {
65
+ return lstatSync(path).isSymbolicLink();
66
+ }
67
+ catch {
68
+ return false;
69
+ }
70
+ };
71
+ it("creates a uniquely named directory under the system temp dir", async () => {
72
+ const env_1 = { stack: [], error: void 0, hasError: false };
73
+ try {
74
+ const testDir = __addDisposableResource(env_1, newTestDir(), false);
75
+ const dir = __addDisposableResource(env_1, await XdgRuntimeDirectory.create(testDir.path), true);
76
+ expect(existsSync(dir.path)).toBe(true);
77
+ expect(dir.path).toContain("tui-xdg-");
78
+ }
79
+ catch (e_1) {
80
+ env_1.error = e_1;
81
+ env_1.hasError = true;
82
+ }
83
+ finally {
84
+ const result_1 = __disposeResources(env_1);
85
+ if (result_1)
86
+ await result_1;
87
+ }
88
+ });
89
+ it("removes the directory and the symlink when disposed", async () => {
90
+ const env_2 = { stack: [], error: void 0, hasError: false };
91
+ try {
92
+ const testDir = __addDisposableResource(env_2, newTestDir(), false);
93
+ let createdPath;
94
+ let createdSymlinkPath;
95
+ {
96
+ const env_3 = { stack: [], error: void 0, hasError: false };
97
+ try {
98
+ const dir = __addDisposableResource(env_3, await XdgRuntimeDirectory.create(testDir.path), true);
99
+ createdPath = dir.path;
100
+ createdSymlinkPath = dir.symlinkPath;
101
+ expect(existsSync(createdPath)).toBe(true);
102
+ expect(symlinkFileExists(createdSymlinkPath)).toBe(true);
103
+ }
104
+ catch (e_2) {
105
+ env_3.error = e_2;
106
+ env_3.hasError = true;
107
+ }
108
+ finally {
109
+ const result_2 = __disposeResources(env_3);
110
+ if (result_2)
111
+ await result_2;
112
+ }
113
+ }
114
+ // checked while `testDir` is still alive, so this asserts the dispose itself
115
+ // unlinked the symlink (rather than the test directory cleanup doing it)
116
+ expect(existsSync(createdPath)).toBe(false);
117
+ expect(symlinkFileExists(createdSymlinkPath)).toBe(false);
118
+ }
119
+ catch (e_3) {
120
+ env_2.error = e_3;
121
+ env_2.hasError = true;
122
+ }
123
+ finally {
124
+ __disposeResources(env_2);
125
+ }
126
+ });
127
+ it("rejects (and does not leak a temp dir) when the symlink cannot be created", async () => {
128
+ // a non-existent parent makes the symlink() call fail with ENOENT
129
+ const missingTestDir = join(tmpdir(), "does-not-exist-3f9c1a", "nested");
130
+ await expect(XdgRuntimeDirectory.create(missingTestDir)).rejects.toThrow();
131
+ });
132
+ it("stays well under the OS Unix-socket path limit (this is the reason it exists)", async () => {
133
+ const env_4 = { stack: [], error: void 0, hasError: false };
134
+ try {
135
+ // The directory holds Unix domain sockets (e.g. yazi appends
136
+ // `/yazi+<uid>/.dds.sock`). The full socket path must fit in `sun_path`
137
+ // (~104 bytes on macOS, ~108 on Linux), so the directory itself must leave
138
+ // ample room.
139
+ const testDir = __addDisposableResource(env_4, newTestDir(), false);
140
+ const dir = __addDisposableResource(env_4, await XdgRuntimeDirectory.create(testDir.path), true);
141
+ const exampleSocketPath = join(dir.path, "yazi+1000", ".dds.sock");
142
+ // Use the stricter macOS limit as the bound so it holds on both platforms.
143
+ expect(exampleSocketPath.length).toBeLessThan(104);
144
+ }
145
+ catch (e_4) {
146
+ env_4.error = e_4;
147
+ env_4.hasError = true;
148
+ }
149
+ finally {
150
+ const result_3 = __disposeResources(env_4);
151
+ if (result_3)
152
+ await result_3;
153
+ }
154
+ });
155
+ //# sourceMappingURL=XdgRuntimeDirectory.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XdgRuntimeDirectory.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/XdgRuntimeDirectory.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import EventEmitter from "events";
2
2
  import type { TestDirectory } from "../../types.js";
3
3
  import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
4
+ import { XdgRuntimeDirectory } from "../neovim/environment/XdgRuntimeDirectory.js";
4
5
  import type { StdoutOrStderrMessage, TerminalDimensions } from "../neovim/NeovimApplication.js";
5
6
  export type { StdoutOrStderrMessage };
6
7
  type ResettableState = {
7
8
  testDirectory: TestDirectory;
9
+ xdgRuntimeDirectory: XdgRuntimeDirectory;
8
10
  };
9
11
  export type StartTerminalGenericArguments = {
10
12
  commandToRun: string[];
@@ -16,6 +18,6 @@ export default class TerminalTestApplication implements AsyncDisposable {
16
18
  readonly events: EventEmitter;
17
19
  constructor(application?: DisposableSingleApplication);
18
20
  startNextAndKillCurrent(testDirectory: TestDirectory, startArgs: StartTerminalGenericArguments, terminalDimensions: TerminalDimensions): Promise<void>;
19
- getEnvironmentVariables(testDirectory: TestDirectory, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
21
+ getEnvironmentVariables(testDirectory: TestDirectory, xdgRuntimeDir: string, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
20
22
  [Symbol.asyncDispose](): Promise<void>;
21
23
  }
@@ -5,6 +5,7 @@ import { join } from "path";
5
5
  import { debuglog } from "util";
6
6
  import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
7
7
  import { TerminalApplication } from "../../utilities/TerminalApplication.js";
8
+ import { XdgRuntimeDirectory } from "../neovim/environment/XdgRuntimeDirectory.js";
8
9
  const log = debuglog("tui-sandbox.terminal.TerminalTestApplication");
9
10
  export default class TerminalTestApplication {
10
11
  application;
@@ -21,9 +22,10 @@ export default class TerminalTestApplication {
21
22
  assert(command, "No command to run was provided.");
22
23
  // TODO could check if the command is executable
23
24
  const terminalArguments = startArgs.commandToRun.slice(1);
25
+ const xdgRuntimeDirectory = await XdgRuntimeDirectory.create(testDirectory.rootPathAbsolute);
24
26
  const stdout = this.events;
25
27
  await this.application.startNextAndKillCurrent(async () => {
26
- const env = this.getEnvironmentVariables(testDirectory, startArgs.additionalEnvironmentVariables);
28
+ const env = this.getEnvironmentVariables(testDirectory, xdgRuntimeDirectory.path, startArgs.additionalEnvironmentVariables);
27
29
  return TerminalApplication.start({
28
30
  command,
29
31
  args: terminalArguments,
@@ -40,15 +42,16 @@ export default class TerminalTestApplication {
40
42
  });
41
43
  const processId = this.application.processId();
42
44
  assert(processId !== undefined, "TerminalApplication was started without a process ID. This is a bug - please open an issue.");
43
- this.state = { testDirectory };
45
+ this.state = { testDirectory, xdgRuntimeDirectory };
44
46
  log(`🚀 Started Terminal instance ${processId}`);
45
47
  }
46
- getEnvironmentVariables(testDirectory, additionalEnvironmentVariables) {
48
+ getEnvironmentVariables(testDirectory, xdgRuntimeDir, additionalEnvironmentVariables) {
47
49
  return {
48
50
  ...process.env,
49
51
  HOME: testDirectory.rootPathAbsolute,
50
52
  XDG_CONFIG_HOME: join(testDirectory.rootPathAbsolute, ".config"),
51
53
  XDG_DATA_HOME: join(testDirectory.testEnvironmentPath, ".repro", "data"),
54
+ XDG_RUNTIME_DIR: xdgRuntimeDir,
52
55
  TUI_SANDBOX_TEST_ENVIRONMENT_PATH: testDirectory.testEnvironmentPath,
53
56
  ...additionalEnvironmentVariables,
54
57
  };
@@ -57,6 +60,7 @@ export default class TerminalTestApplication {
57
60
  await this.application[Symbol.asyncDispose]();
58
61
  if (!this.state)
59
62
  return;
63
+ await this.state.xdgRuntimeDirectory[Symbol.asyncDispose]();
60
64
  exec(`rm -rf ${this.state.testDirectory.rootPathAbsolute}`);
61
65
  this.state = undefined;
62
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalTestApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/TerminalTestApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TerminalTestApplication.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/TerminalTestApplication.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,9 @@ export async function runBlockingShellCommand(signal, input, allowFailure) {
47
47
  assert(app.application, `Terminal application not found for tabId ${input.tabId.tabId}. Maybe it's not started yet?`);
48
48
  const testDirectory = app.state?.testDirectory;
49
49
  assert(testDirectory, `Test directory not found for client id ${input.tabId.tabId}. Maybe neovim's not started yet?`);
50
- const env = app.getEnvironmentVariables(testDirectory, input.envOverrides);
50
+ const xdgRuntimeDirectory = app.state?.xdgRuntimeDirectory;
51
+ assert(xdgRuntimeDirectory, `XDG runtime directory not found for client id ${input.tabId.tabId}. Maybe it's not started yet?`);
52
+ const env = app.getEnvironmentVariables(testDirectory, xdgRuntimeDirectory.path, input.envOverrides);
51
53
  return executeBlockingShellCommand(testDirectory, input, signal, allowFailure, env);
52
54
  }
53
55
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/api.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,18 @@ export type TestEnvironmentCommonEnvironmentVariables = {
47
47
  * directory.
48
48
  */
49
49
  XDG_DATA_HOME: string;
50
+ /** There is a single base directory relative to which user-specific runtime
51
+ * files and other file objects should be placed. This directory is defined
52
+ * by the environment variable $XDG_RUNTIME_DIR.
53
+ *
54
+ * $XDG_RUNTIME_DIR defines the base directory relative to which
55
+ * user-specific non-essential runtime files and other file objects (such as
56
+ * sockets, named pipes, ...) should be stored. The directory MUST be owned
57
+ * by the user, and they MUST be the only one having read and write access to
58
+ * it. Its Unix access mode MUST be 0700.
59
+ *
60
+ * https://specifications.freedesktop.org/basedir/latest/ */
61
+ XDG_RUNTIME_DIR: string;
50
62
  /** The path to the test environment directory, which is the blueprint for
51
63
  * the test directory.
52
64
  * @example /Users/mikavilpas/git/tui-sandbox/packages/integration-tests/test-environment