@tui-sandbox/library 12.7.3 → 13.0.1

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 (33) hide show
  1. package/dist/src/scripts/commands/commandTuiNeovimExec.d.ts +1 -1
  2. package/dist/src/scripts/commands/commandTuiNeovimExec.js +6 -6
  3. package/dist/src/scripts/commands/commandTuiNeovimExec.js.map +1 -1
  4. package/dist/src/scripts/tui.js.map +1 -1
  5. package/dist/src/server/applications/neovim/NeovimApplication.d.ts +3 -2
  6. package/dist/src/server/applications/neovim/NeovimApplication.js +17 -8
  7. package/dist/src/server/applications/neovim/NeovimApplication.js.map +1 -1
  8. package/dist/src/server/applications/neovim/api.d.ts +1 -1
  9. package/dist/src/server/applications/neovim/api.js +4 -4
  10. package/dist/src/server/applications/neovim/api.js.map +1 -1
  11. package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.d.ts +29 -0
  12. package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.js +41 -0
  13. package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.js.map +1 -0
  14. package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.test.d.ts +1 -0
  15. package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.test.js +50 -0
  16. package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.test.js.map +1 -0
  17. package/dist/src/server/applications/neovim/neovimRouter.js +1 -1
  18. package/dist/src/server/applications/neovim/neovimRouter.js.map +1 -1
  19. package/dist/src/server/applications/terminal/TerminalTestApplication.d.ts +3 -2
  20. package/dist/src/server/applications/terminal/TerminalTestApplication.js +16 -7
  21. package/dist/src/server/applications/terminal/TerminalTestApplication.js.map +1 -1
  22. package/dist/src/server/applications/terminal/api.d.ts +1 -1
  23. package/dist/src/server/applications/terminal/api.js +3 -3
  24. package/dist/src/server/applications/terminal/api.js.map +1 -1
  25. package/dist/src/server/applications/terminal/terminalRouter.js +1 -1
  26. package/dist/src/server/applications/terminal/terminalRouter.js.map +1 -1
  27. package/dist/src/server/types.d.ts +2 -0
  28. package/dist/src/server/updateTestdirectorySchemaFile.d.ts +1 -0
  29. package/dist/src/server/updateTestdirectorySchemaFile.js +2 -0
  30. package/dist/src/server/updateTestdirectorySchemaFile.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +6 -6
  33. package/src/server/cypress-support/tui-sandbox-template.ts +2 -2
@@ -1,3 +1,3 @@
1
1
  import type { TestServerConfigMetadata } from "../../server/updateTestdirectorySchemaFile.js";
2
2
  import type { NeovimExec } from "../parseArguments.js";
3
- export declare function commandTuiNeovimExec(command: NeovimExec, config: TestServerConfigMetadata): Promise<void>;
3
+ export declare function commandTuiNeovimExec(command: NeovimExec, configMeta: TestServerConfigMetadata): Promise<void>;
@@ -52,23 +52,23 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
52
52
  });
53
53
  import { NeovimApplication } from "../../server/applications/neovim/NeovimApplication.js";
54
54
  import { prepareNewTestDirectory } from "../../server/applications/neovim/prepareNewTestDirectory.js";
55
- export async function commandTuiNeovimExec(command, config) {
55
+ export async function commandTuiNeovimExec(command, configMeta) {
56
56
  const env_1 = { stack: [], error: void 0, hasError: false };
57
57
  try {
58
58
  // automatically dispose of the neovim instance when done
59
- const app = __addDisposableResource(env_1, new NeovimApplication(config.config.directories.testEnvironmentPath), true);
59
+ const app = __addDisposableResource(env_1, new NeovimApplication(configMeta.config.directories.testEnvironmentPath), true);
60
60
  app.events.on("stdout", data => {
61
61
  console.log(` neovim output: ${data}`);
62
62
  });
63
- const testDirectory = await prepareNewTestDirectory(config.config);
63
+ const testDirectory = await prepareNewTestDirectory(configMeta.config);
64
64
  const NVIM_APPNAME = process.env["NVIM_APPNAME"];
65
- if (NVIM_APPNAME && !config.config.integrations.neovim.NVIM_APPNAMEs.find(n => n === NVIM_APPNAME)) {
65
+ if (NVIM_APPNAME && !configMeta.config.integrations.neovim.NVIM_APPNAMEs.find(n => n === NVIM_APPNAME)) {
66
66
  process.exitCode = 1;
67
- const message = `The NVIM_APPNAME environment variable is set to "${NVIM_APPNAME}", but only the following neovim configurations are known in the configuration file: ${JSON.stringify(config.config.integrations.neovim.NVIM_APPNAMEs)}. Please set NVIM_APPNAME to one of the configured names or unset it to use the default ("nvim"). Config file path: ${config.configFilePath}`;
67
+ const message = `The NVIM_APPNAME environment variable is set to "${NVIM_APPNAME}", but only the following neovim configurations are known in the configuration file: ${JSON.stringify(configMeta.config.integrations.neovim.NVIM_APPNAMEs)}. Please set NVIM_APPNAME to one of the configured names or unset it to use the default ("nvim"). Config file path: ${configMeta.configFilePath}`;
68
68
  console.error(message);
69
69
  return;
70
70
  }
71
- await app.startNextAndKillCurrent(testDirectory, {
71
+ await app.startNextAndKillCurrent(configMeta.config, testDirectory, {
72
72
  filename: "empty.txt",
73
73
  headlessCmd: command.command,
74
74
  NVIM_APPNAME,
@@ -1 +1 @@
1
- {"version":3,"file":"commandTuiNeovimExec.js","sourceRoot":"","sources":["../../../../src/scripts/commands/commandTuiNeovimExec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,uDAAuD,CAAA;AACrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAA;AAIrG,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAmB,EAAE,MAAgC;;;QAC9F,yDAAyD;QACzD,MAAY,GAAG,kCAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAA,CAAA;QACtF,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAwC,EAAE,IAAI,CAAC,EAAE;YAC7D,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QACF,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAEhD,IAAI,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC;YACnG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,MAAM,OAAO,GAAG,oDAAoD,YAAY,wFAAwF,IAAI,CAAC,SAAS,CACpL,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAChD,uHAAuH,MAAM,CAAC,cAAc,EAAE,CAAA;YAE/I,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAEtB,OAAM;QACR,CAAC;QAED,MAAM,GAAG,CAAC,uBAAuB,CAC/B,aAAa,EACb;YACE,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,YAAY;SACb,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CACvB,CAAA;QACD,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;;;;;;;;;;;CAClC"}
1
+ {"version":3,"file":"commandTuiNeovimExec.js","sourceRoot":"","sources":["../../../../src/scripts/commands/commandTuiNeovimExec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,uDAAuD,CAAA;AACrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAA;AAIrG,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAmB,EAAE,UAAoC;;;QAClG,yDAAyD;QACzD,MAAY,GAAG,kCAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAA,CAAA;QAC1F,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAwC,EAAE,IAAI,CAAC,EAAE;YAC7D,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QACF,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACtE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAEhD,IAAI,YAAY,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC;YACvG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,MAAM,OAAO,GAAG,oDAAoD,YAAY,wFAAwF,IAAI,CAAC,SAAS,CACpL,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,aAAa,CACpD,uHAAuH,UAAU,CAAC,cAAc,EAAE,CAAA;YAEnJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAEtB,OAAM;QACR,CAAC;QAED,MAAM,GAAG,CAAC,uBAAuB,CAC/B,UAAU,CAAC,MAAM,EACjB,aAAa,EACb;YACE,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,OAAO,CAAC,OAAO;YAC5B,YAAY;SACb,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CACvB,CAAA;QACD,MAAM,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;;;;;;;;;;;CAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/scripts/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/scripts/tui.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAIhC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,EAAE;AACF,6CAA6C;AAC7C,EAAE;AAEF,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAC5D,MAAM,CAAC,KAAK,CAAC,CAAA;AACb,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAErB,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,mEAAmE,OAAO,CAAC,OAAO,GAAG,CAAC,CAAA;IACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED;+BAC+B;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;AAChC,MAAM,YAAY,GAA2B,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAA;AACxE,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;IACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,uDAAuD;AACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAClC,MAAM,MAAM,GAA6B,YAAY,CAAC,MAAM,CAAA;AAC5D,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;AAE1C,QAAQ,OAAO,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,gBAAgB,CAAC,CAAC,CAAC;QACtB,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAK;IACP,CAAC;IACD,KAAK,aAAa,CAAC,CAAC,CAAC;QACnB,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3C,MAAK;IACP,CAAC;IACD,KAAK,OAAO,CAAC,CAAC,CAAC;QACb,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;QAC7B,MAAK;IACP,CAAC;IACD,KAAK,SAAS,CAAC,CAAC,CAAC;QACf,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACjC,MAAK;IACP,CAAC;IACD,KAAK,KAAK,CAAC,CAAC,CAAC;QACX,MAAM,MAAM,GAAuB,MAAM,UAAU,EAAE,CAAA;QACrD,aAAa;QACb,EAAE;QACF,iEAAiE;QACjE,OAAO,CAAC,QAAQ,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAK;IACP,CAAC;IACD,KAAK,SAAS,CAAC,CAAC,CAAC;QACf,OAA2B,CAAA;QAC3B,gBAAgB,EAAE,CAAA;IACpB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC,GAAG,CACT;QACE,EAAE;QACF,mBAAmB;QACnB,eAAe;QACf,iBAAiB;QACjB,oCAAoC;QACpC,wBAAwB;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import EventEmitter from "events";
2
2
  import type { NeovimClient as NeovimApiClient } from "neovim";
3
3
  import type { TestDirectory } from "../../types.js";
4
+ import type { TestServerConfig } from "../../updateTestdirectorySchemaFile.js";
4
5
  import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
5
6
  import type { Lazy } from "../../utilities/Lazy.js";
6
7
  import { XdgRuntimeDirectory } from "./environment/XdgRuntimeDirectory.js";
@@ -48,8 +49,8 @@ export declare class NeovimApplication implements AsyncDisposable {
48
49
  /**
49
50
  * Kill the current application and start a new one with the given arguments.
50
51
  */
51
- startNextAndKillCurrent(testDirectory: TestDirectory, startArgs: StartNeovimGenericArguments, terminalDimensions: TerminalDimensions): Promise<void>;
52
- static getEnvironmentVariables(testDirectory: TestDirectory, xdgRuntimeDir: string, NVIM_APPNAME: string | undefined, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
52
+ startNextAndKillCurrent(config: TestServerConfig, testDirectory: TestDirectory, startArgs: StartNeovimGenericArguments, terminalDimensions: TerminalDimensions): Promise<void>;
53
+ static getEnvironmentVariables(config: TestServerConfig, testDirectory: TestDirectory, xdgRuntimeDir: string, NVIM_APPNAME: string | undefined, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
53
54
  [Symbol.asyncDispose](): Promise<void>;
54
55
  }
55
56
  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 { prependMiseBinPathsToPath, resolveMiseBinPaths } from "./environment/resolveMiseBinPaths.js";
10
11
  import { resolveMiseStateDirectory } from "./environment/resolveMiseStateDirectory.js";
11
12
  import { XdgRuntimeDirectory } from "./environment/XdgRuntimeDirectory.js";
12
13
  import { connectNeovimApi } from "./NeovimJavascriptApiClient.js";
@@ -24,7 +25,7 @@ export class NeovimApplication {
24
25
  /**
25
26
  * Kill the current application and start a new one with the given arguments.
26
27
  */
27
- async startNextAndKillCurrent(testDirectory, startArgs, terminalDimensions) {
28
+ async startNextAndKillCurrent(config, testDirectory, startArgs, terminalDimensions) {
28
29
  await this[Symbol.asyncDispose]();
29
30
  assert(this.state === undefined, "NeovimApplication state should be undefined after disposing so that no previous state is reused.");
30
31
  const neovimArguments = [];
@@ -65,7 +66,7 @@ export class NeovimApplication {
65
66
  const xdgRuntimeDirectory = await XdgRuntimeDirectory.create(testDirectory.rootPathAbsolute);
66
67
  const stdout = this.events;
67
68
  await this.application.startNextAndKillCurrent(async () => {
68
- const env = NeovimApplication.getEnvironmentVariables(testDirectory, xdgRuntimeDirectory.path, startArgs.NVIM_APPNAME, startArgs.additionalEnvironmentVariables);
69
+ const env = NeovimApplication.getEnvironmentVariables(config, testDirectory, xdgRuntimeDirectory.path, startArgs.NVIM_APPNAME, startArgs.additionalEnvironmentVariables);
69
70
  return TerminalApplication.start({
70
71
  command: "nvim",
71
72
  args: neovimArguments,
@@ -91,9 +92,8 @@ export class NeovimApplication {
91
92
  };
92
93
  log(`🚀 Started Neovim instance ${processId} (NVIM_APPNAME: ${startArgs.NVIM_APPNAME})`);
93
94
  }
94
- static getEnvironmentVariables(testDirectory, xdgRuntimeDir, NVIM_APPNAME, additionalEnvironmentVariables) {
95
- const miseStateDirectory = resolveMiseStateDirectory();
96
- return {
95
+ static getEnvironmentVariables(config, testDirectory, xdgRuntimeDir, NVIM_APPNAME, additionalEnvironmentVariables) {
96
+ let env = {
97
97
  ...process.env,
98
98
  ...{
99
99
  HOME: testDirectory.rootPathAbsolute,
@@ -101,12 +101,21 @@ export class NeovimApplication {
101
101
  XDG_DATA_HOME: join(testDirectory.testEnvironmentPath, ".repro", "data"),
102
102
  XDG_RUNTIME_DIR: xdgRuntimeDir,
103
103
  TUI_SANDBOX_TEST_ENVIRONMENT_PATH: testDirectory.testEnvironmentPath,
104
- ...(miseStateDirectory ? { MISE_STATE_DIR: miseStateDirectory } : {}),
105
- MISE_OFFLINE: "1",
106
104
  },
107
105
  NVIM_APPNAME: NVIM_APPNAME ?? "nvim",
108
- ...additionalEnvironmentVariables,
109
106
  };
107
+ if (config.integrations.mise) {
108
+ const miseStateDirectory = resolveMiseStateDirectory();
109
+ Object.assign(env, {
110
+ ...(miseStateDirectory ? { MISE_STATE_DIR: miseStateDirectory } : {}),
111
+ MISE_OFFLINE: "1",
112
+ });
113
+ // put mise-managed tools' real install dirs on PATH so they are
114
+ // invocable in the isolated env (shims can't re-resolve there)
115
+ env = prependMiseBinPathsToPath(env, resolveMiseBinPaths());
116
+ }
117
+ Object.assign(env, additionalEnvironmentVariables ?? {});
118
+ return env;
110
119
  }
111
120
  async [Symbol.asyncDispose]() {
112
121
  await this.application[Symbol.asyncDispose]();
@@ -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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"}
@@ -13,7 +13,7 @@ export declare function sendStdin(options: {
13
13
  tabId: TabId;
14
14
  data: string;
15
15
  }): Promise<void>;
16
- export declare function runBlockingShellCommand(signal: AbortSignal | undefined, input: BlockingCommandInput, allowFailure: boolean): Promise<BlockingShellCommandOutput>;
16
+ export declare function runBlockingShellCommand(config: TestServerConfig, signal: AbortSignal | undefined, input: BlockingCommandInput, allowFailure: boolean): Promise<BlockingShellCommandOutput>;
17
17
  export declare function runLuaCode(options: LuaCodeInput): Promise<RunLuaCodeOutput>;
18
18
  export type PollLuaCodeInput = {
19
19
  luaAssertion: string;
@@ -90,7 +90,7 @@ export async function installDependencies(NVIM_APPNAME, config) {
90
90
  assert(typeof data === "string");
91
91
  output += data;
92
92
  });
93
- await app.startNextAndKillCurrent(testDirectory, {
93
+ await app.startNextAndKillCurrent(config, testDirectory, {
94
94
  filename: "empty.txt",
95
95
  headlessCmd: `lua dofile("${prepareFilePath}")`,
96
96
  NVIM_APPNAME,
@@ -132,7 +132,7 @@ export async function start(options, terminalDimensions, tabId, config) {
132
132
  const neovim = neovims.get(tabId.tabId);
133
133
  assert(neovim, `Neovim instance not found for client id ${tabId.tabId}`);
134
134
  const testDirectory = await prepareNewTestDirectory(config);
135
- await neovim.startNextAndKillCurrent(testDirectory, options, terminalDimensions);
135
+ await neovim.startNextAndKillCurrent(config, testDirectory, options, terminalDimensions);
136
136
  return testDirectory;
137
137
  }
138
138
  export async function sendStdin(options) {
@@ -141,14 +141,14 @@ export async function sendStdin(options) {
141
141
  assert(neovim.application, `Neovim application not found for client id ${options.tabId.tabId}. Maybe it's not started yet?`);
142
142
  await neovim.application.write(options.data);
143
143
  }
144
- export async function runBlockingShellCommand(signal, input, allowFailure) {
144
+ export async function runBlockingShellCommand(config, signal, input, allowFailure) {
145
145
  const neovim = neovims.get(input.tabId.tabId);
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
149
  const xdgRuntimeDirectory = neovim.state?.xdgRuntimeDirectory;
150
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);
151
+ const env = NeovimApplication.getEnvironmentVariables(config, testDirectory, xdgRuntimeDirectory.path, neovim.state?.NVIM_APPNAME, input.envOverrides);
152
152
  return executeBlockingShellCommand(testDirectory, input, signal, allowFailure, env);
153
153
  }
154
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":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Resolves the bin directories of the currently active, installed mise tools.
3
+ *
4
+ * IMPORTANT: resolve this from the *real* server environment, never from the
5
+ * isolated terminal env.
6
+ *
7
+ * NOTE: the selection of tools is assumed stable for the lifetime of the
8
+ * server process - if you change the mise toolset, you must restart the server
9
+ * to pick up new bin paths.
10
+ *
11
+ * Issue:
12
+ *
13
+ * The test terminal runs in a lightly-isolated environment, where a mise
14
+ * *shim* cannot reliably re-resolve a tool -> version -> backend, so invoking
15
+ * e.g. `lazygit` through its shim fails with "lazygit is not a valid shim" /
16
+ * "No version is set for shim".
17
+ *
18
+ * Solution:
19
+ *
20
+ * Put the tools' real install dirs directly on `$PATH` so they become plain
21
+ * executables, working around the issue.
22
+ */
23
+ export type RunMiseBinPaths = (cwd: string, environment: NodeJS.ProcessEnv) => string;
24
+ /** Parses the newline-separated output of `mise bin-paths`. */
25
+ export declare const parseMiseBinPaths: (stdout: string) => string[];
26
+ export declare const resolveMiseBinPaths: (cwd?: string, environment?: NodeJS.ProcessEnv, run?: RunMiseBinPaths) => string[];
27
+ /** @private Test-only: forget memoized results so each test resolves fresh. */
28
+ export declare const clearMiseBinPathsCache: () => void;
29
+ export declare const prependMiseBinPathsToPath: (env: Record<string, string>, binPaths: string[]) => Record<string, string>;
@@ -0,0 +1,41 @@
1
+ import { execFileSync } from "child_process";
2
+ import path from "path";
3
+ import { debuglog } from "util";
4
+ const log = debuglog("tui-sandbox.mise");
5
+ const runMiseBinPaths = (cwd, environment) => execFileSync("mise", ["bin-paths"], {
6
+ cwd,
7
+ env: environment,
8
+ encoding: "utf8",
9
+ stdio: ["ignore", "pipe", "pipe"],
10
+ });
11
+ /** Parses the newline-separated output of `mise bin-paths`. */
12
+ export const parseMiseBinPaths = (stdout) => stdout
13
+ .split("\n")
14
+ .map(line => line.trim())
15
+ .filter(line => line.length > 0);
16
+ // `mise bin-paths` is stable for the lifetime of the server process. Memoize
17
+ // per working directory to avoid shelling out when starting every test.
18
+ const cache = new Map();
19
+ export const resolveMiseBinPaths = (cwd = process.cwd(), environment = process.env, run = runMiseBinPaths) => {
20
+ const cached = cache.get(cwd);
21
+ if (cached)
22
+ return cached;
23
+ const binPaths = parseMiseBinPaths(run(cwd, environment));
24
+ log(`Resolved ${binPaths.length} mise bin path(s) from ${cwd}`);
25
+ cache.set(cwd, binPaths);
26
+ return binPaths;
27
+ };
28
+ /** @private Test-only: forget memoized results so each test resolves fresh. */
29
+ export const clearMiseBinPathsCache = () => {
30
+ cache.clear();
31
+ };
32
+ export const prependMiseBinPathsToPath = (env, binPaths) => {
33
+ if (binPaths.length === 0)
34
+ return env;
35
+ const existing = env["PATH"] ?? "";
36
+ return {
37
+ ...env,
38
+ PATH: [...binPaths, ...(existing ? [existing] : [])].join(path.delimiter),
39
+ };
40
+ };
41
+ //# sourceMappingURL=resolveMiseBinPaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveMiseBinPaths.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/resolveMiseBinPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAE/B,MAAM,GAAG,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAA;AA0BxC,MAAM,eAAe,GAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,CAC5D,YAAY,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE;IAClC,GAAG;IACH,GAAG,EAAE,WAAW;IAChB,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;CAClC,CAAC,CAAA;AAEJ,+DAA+D;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAY,EAAE,CAC5D,MAAM;KACH,KAAK,CAAC,IAAI,CAAC;KACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAEpC,6EAA6E;AAC7E,wEAAwE;AACxE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAA;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAc,OAAO,CAAC,GAAG,EAAE,EAC3B,cAAiC,OAAO,CAAC,GAAG,EAC5C,MAAuB,eAAe,EAC5B,EAAE;IACZ,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,MAAM,QAAQ,GAAa,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAA;IACnE,GAAG,CAAC,YAAY,QAAQ,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC,CAAA;IAC/D,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACxB,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAS,EAAE;IAC/C,KAAK,CAAC,KAAK,EAAE,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAA2B,EAAE,QAAkB,EAA0B,EAAE;IACnH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAClC,OAAO;QACL,GAAG,GAAG;QACN,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;KAC1E,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,50 @@
1
+ import { afterEach, expect, it } from "vitest";
2
+ import { clearMiseBinPathsCache, parseMiseBinPaths, prependMiseBinPathsToPath, resolveMiseBinPaths, } from "./resolveMiseBinPaths.js";
3
+ afterEach(() => {
4
+ clearMiseBinPathsCache();
5
+ });
6
+ it("parses newline-separated bin paths and ignores blank lines", () => {
7
+ expect(parseMiseBinPaths("/a/bin\n/b/bin\n\n /c/bin \n")).toEqual(["/a/bin", "/b/bin", "/c/bin"]);
8
+ });
9
+ it("resolves the parsed output of `mise bin-paths`", () => {
10
+ const binPaths = resolveMiseBinPaths("/repo", {}, () => "/a/bin\n/b/bin\n");
11
+ expect(binPaths).toEqual(["/a/bin", "/b/bin"]);
12
+ });
13
+ it("memoizes per working directory (only shells out once)", () => {
14
+ let calls = 0;
15
+ const run = () => {
16
+ calls++;
17
+ return "/a/bin\n";
18
+ };
19
+ resolveMiseBinPaths("/repo", {}, run);
20
+ resolveMiseBinPaths("/repo", {}, run);
21
+ expect(calls).toBe(1);
22
+ });
23
+ it("crashes when mise is not installed", () => {
24
+ // The mise integration is opt-in, so a failure here means the user asked for
25
+ // mise but it could not be used. resolveMiseBinPaths must crash rather than
26
+ // silently continue, so the misconfiguration is not hidden.
27
+ expect(() => resolveMiseBinPaths("/repo", {}, () => {
28
+ throw Object.assign(new Error("spawn mise ENOENT"), { code: "ENOENT" });
29
+ })).toThrow(/ENOENT/);
30
+ });
31
+ it("crashes when `mise bin-paths` exits non-zero", () => {
32
+ expect(() => resolveMiseBinPaths("/repo", {}, () => {
33
+ throw new Error("Command failed");
34
+ })).toThrow(/Command failed/);
35
+ });
36
+ it("prepends bin paths so mise-managed tools win over system copies", () => {
37
+ const env = prependMiseBinPathsToPath({ PATH: "/usr/bin:/bin" }, ["/mise/lazygit/bin", "/mise/delta/bin"]);
38
+ expect(env["PATH"]).toBe("/mise/lazygit/bin:/mise/delta/bin:/usr/bin:/bin");
39
+ });
40
+ it("leaves the env untouched when there are no bin paths", () => {
41
+ const original = { PATH: "/usr/bin", HOME: "/home/user" };
42
+ expect(prependMiseBinPathsToPath(original, [])).toEqual(original);
43
+ });
44
+ it("handles a missing PATH", () => {
45
+ expect(prependMiseBinPathsToPath({ HOME: "/home/user" }, ["/mise/lazygit/bin"])).toEqual({
46
+ HOME: "/home/user",
47
+ PATH: "/mise/lazygit/bin",
48
+ });
49
+ });
50
+ //# sourceMappingURL=resolveMiseBinPaths.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveMiseBinPaths.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/resolveMiseBinPaths.test.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ export function createNeovimRouter(config) {
58
58
  return neovim.sendStdin(options.input);
59
59
  }),
60
60
  runBlockingShellCommand: trpc.procedure.input(blockingCommandInputSchema).mutation(async (options) => {
61
- return neovim.runBlockingShellCommand(options.signal, options.input, options.input.allowFailure ?? false);
61
+ return neovim.runBlockingShellCommand(config, options.signal, options.input, options.input.allowFailure ?? false);
62
62
  }),
63
63
  runLuaCode: trpc.procedure.input(luaCodeInputSchema).mutation(options => {
64
64
  return timeoutable(10_000, neovim.runLuaCode(options.input));
@@ -1 +1 @@
1
- {"version":3,"file":"neovimRouter.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/neovimRouter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAIhF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,WAAW;IAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACjD,CAAC,CAAA;AAGF,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA;AAIF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA;AAIF,+DAA+D;AAC/D,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB,CAAC,MAAwB;IACzD,OAAO,IAAI,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,IAAI,CAAC,SAAS;aAClB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,WAAW;YAClB,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC7B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC;oBAChB,CAAC,CAAC,MAAM,EAAE;oBACV,CAAC,CAAC,MAAM,CAAC;wBACP,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;qBAC1C,CAAC;iBACH,CAAC;gBACF,0BAA0B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAC1D,8BAA8B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;gBAC3E,YAAY,EAAE,CAAC;qBACZ,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,OAAO,CAAC,MAAgD,CAAC;aAC7D,CAAC;YACF,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;gBAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACjB,CAAC;SACH,CAAC,CACH;aACA,MAAM,CAAC,yBAAyB,CAAC;aACjC,QAAQ,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACxB,OAAO,MAAM,CAAC,KAAK,CACjB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAClC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAChC,OAAO,CAAC,KAAK,CAAC,KAAK,EACnB,MAAM,CACP,CAAA;QACH,CAAC,CAAC;QAEJ,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACvF,OAAO,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvG,CAAC,CAAC;QACF,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrG,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACxC,CAAC,CAAC;QAEF,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACjG,OAAO,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,CAAA;QAC3G,CAAC,CAAC;QAEF,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACtE,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9D,CAAC,CAAC;QAEF,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACpF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/G,OAAO,MAAM,CAAA;QACf,CAAC,CAAC;QAEF,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC1E,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAChE,CAAC,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"neovimRouter.js","sourceRoot":"","sources":["../../../../../src/server/applications/neovim/neovimRouter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import EventEmitter from "events";
2
2
  import type { TestDirectory } from "../../types.js";
3
+ import type { TestServerConfig } from "../../updateTestdirectorySchemaFile.js";
3
4
  import { DisposableSingleApplication } from "../../utilities/DisposableSingleApplication.js";
4
5
  import { XdgRuntimeDirectory } from "../neovim/environment/XdgRuntimeDirectory.js";
5
6
  import type { StdoutOrStderrMessage, TerminalDimensions } from "../neovim/NeovimApplication.js";
@@ -17,7 +18,7 @@ export default class TerminalTestApplication implements AsyncDisposable {
17
18
  state: ResettableState | undefined;
18
19
  readonly events: EventEmitter;
19
20
  constructor(application?: DisposableSingleApplication);
20
- startNextAndKillCurrent(testDirectory: TestDirectory, startArgs: StartTerminalGenericArguments, terminalDimensions: TerminalDimensions): Promise<void>;
21
- getEnvironmentVariables(testDirectory: TestDirectory, xdgRuntimeDir: string, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
21
+ startNextAndKillCurrent(config: TestServerConfig, testDirectory: TestDirectory, startArgs: StartTerminalGenericArguments, terminalDimensions: TerminalDimensions): Promise<void>;
22
+ getEnvironmentVariables(config: TestServerConfig, testDirectory: TestDirectory, xdgRuntimeDir: string, additionalEnvironmentVariables?: Record<string, string>): Record<string, string>;
22
23
  [Symbol.asyncDispose](): Promise<void>;
23
24
  }
@@ -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 { prependMiseBinPathsToPath, resolveMiseBinPaths } from "../neovim/environment/resolveMiseBinPaths.js";
8
9
  import { resolveMiseStateDirectory } from "../neovim/environment/resolveMiseStateDirectory.js";
9
10
  import { XdgRuntimeDirectory } from "../neovim/environment/XdgRuntimeDirectory.js";
10
11
  const log = debuglog("tui-sandbox.terminal.TerminalTestApplication");
@@ -16,7 +17,7 @@ export default class TerminalTestApplication {
16
17
  this.application = application;
17
18
  this.events = new EventEmitter();
18
19
  }
19
- async startNextAndKillCurrent(testDirectory, startArgs, terminalDimensions) {
20
+ async startNextAndKillCurrent(config, testDirectory, startArgs, terminalDimensions) {
20
21
  await this[Symbol.asyncDispose]();
21
22
  assert(this.state === undefined, "TerminalTestApplication state should be undefined after disposing so that no previous state is reused.");
22
23
  const command = startArgs.commandToRun[0];
@@ -26,7 +27,7 @@ export default class TerminalTestApplication {
26
27
  const xdgRuntimeDirectory = await XdgRuntimeDirectory.create(testDirectory.rootPathAbsolute);
27
28
  const stdout = this.events;
28
29
  await this.application.startNextAndKillCurrent(async () => {
29
- const env = this.getEnvironmentVariables(testDirectory, xdgRuntimeDirectory.path, startArgs.additionalEnvironmentVariables);
30
+ const env = this.getEnvironmentVariables(config, testDirectory, xdgRuntimeDirectory.path, startArgs.additionalEnvironmentVariables);
30
31
  return TerminalApplication.start({
31
32
  command,
32
33
  args: terminalArguments,
@@ -46,19 +47,27 @@ export default class TerminalTestApplication {
46
47
  this.state = { testDirectory, xdgRuntimeDirectory };
47
48
  log(`🚀 Started Terminal instance ${processId}`);
48
49
  }
49
- getEnvironmentVariables(testDirectory, xdgRuntimeDir, additionalEnvironmentVariables) {
50
+ getEnvironmentVariables(config, testDirectory, xdgRuntimeDir, additionalEnvironmentVariables) {
50
51
  const miseStateDirectory = resolveMiseStateDirectory();
51
- return {
52
+ let env = {
52
53
  ...process.env,
53
54
  HOME: testDirectory.rootPathAbsolute,
54
55
  XDG_CONFIG_HOME: join(testDirectory.rootPathAbsolute, ".config"),
55
56
  XDG_DATA_HOME: join(testDirectory.testEnvironmentPath, ".repro", "data"),
56
57
  XDG_RUNTIME_DIR: xdgRuntimeDir,
57
58
  TUI_SANDBOX_TEST_ENVIRONMENT_PATH: testDirectory.testEnvironmentPath,
58
- ...(miseStateDirectory ? { MISE_STATE_DIR: miseStateDirectory } : {}),
59
- MISE_OFFLINE: "1",
60
- ...additionalEnvironmentVariables,
61
59
  };
60
+ if (config.integrations.mise) {
61
+ Object.assign(env, {
62
+ ...(miseStateDirectory ? { MISE_STATE_DIR: miseStateDirectory } : {}),
63
+ MISE_OFFLINE: "1",
64
+ });
65
+ // put mise-managed tools' real install dirs on PATH so they are
66
+ // invocable in the isolated env (shims can't re-resolve there)
67
+ env = prependMiseBinPathsToPath(env, resolveMiseBinPaths());
68
+ }
69
+ Object.assign(env, additionalEnvironmentVariables ?? {});
70
+ return env;
62
71
  }
63
72
  async [Symbol.asyncDispose]() {
64
73
  await this.application[Symbol.asyncDispose]();
@@ -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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"}
@@ -11,4 +11,4 @@ export declare function sendStdin(options: {
11
11
  tabId: TabId;
12
12
  data: string;
13
13
  }): Promise<void>;
14
- export declare function runBlockingShellCommand(signal: AbortSignal | undefined, input: BlockingCommandInput, allowFailure: boolean): Promise<BlockingShellCommandOutput>;
14
+ export declare function runBlockingShellCommand(config: TestServerConfig, signal: AbortSignal | undefined, input: BlockingCommandInput, allowFailure: boolean): Promise<BlockingShellCommandOutput>;
@@ -12,7 +12,7 @@ export async function start({ tabId, startTerminalArguments }, config) {
12
12
  const app = terminals.get(tabId.tabId);
13
13
  assert(app, `Terminal with tabId ${tabId.tabId} not found.`);
14
14
  const testDirectory = await prepareNewTestDirectory(config);
15
- await app.startNextAndKillCurrent(testDirectory, {
15
+ await app.startNextAndKillCurrent(config, testDirectory, {
16
16
  commandToRun: startTerminalArguments.commandToRun,
17
17
  additionalEnvironmentVariables: startTerminalArguments.additionalEnvironmentVariables,
18
18
  }, startTerminalArguments.terminalDimensions);
@@ -40,7 +40,7 @@ export async function sendStdin(options) {
40
40
  assert(app.application, `Terminal application not found for client id ${options.tabId.tabId}. Maybe it's not started yet?`);
41
41
  await app.application.write(options.data);
42
42
  }
43
- export async function runBlockingShellCommand(signal, input, allowFailure) {
43
+ export async function runBlockingShellCommand(config, signal, input, allowFailure) {
44
44
  const tabId = input.tabId.tabId;
45
45
  const app = terminals.get(tabId);
46
46
  assert(app !== undefined, `Terminal instance for tabId ${input.tabId.tabId} not found - cannot send stdin. Maybe it's not started yet?`);
@@ -49,7 +49,7 @@ export async function runBlockingShellCommand(signal, input, allowFailure) {
49
49
  assert(testDirectory, `Test directory not found for client id ${input.tabId.tabId}. Maybe neovim's not started yet?`);
50
50
  const xdgRuntimeDirectory = app.state?.xdgRuntimeDirectory;
51
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);
52
+ const env = app.getEnvironmentVariables(config, testDirectory, xdgRuntimeDirectory.path, input.envOverrides);
53
53
  return executeBlockingShellCommand(testDirectory, input, signal, allowFailure, env);
54
54
  }
55
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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"}
@@ -32,7 +32,7 @@ export function createTerminalRouter(config) {
32
32
  return terminal.sendStdin(options.input);
33
33
  }),
34
34
  runBlockingShellCommand: trpc.procedure.input(blockingCommandInputSchema).mutation(async (options) => {
35
- return terminal.runBlockingShellCommand(options.signal, options.input, options.input.allowFailure ?? false);
35
+ return terminal.runBlockingShellCommand(config, options.signal, options.input, options.input.allowFailure ?? false);
36
36
  }),
37
37
  });
38
38
  return terminalRouter;
@@ -1 +1 @@
1
- {"version":3,"file":"terminalRouter.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/terminalRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AAEpC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,WAAW;IAClB,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,8BAA8B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3E,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;KACH,CAAC;CACH,CAAC,CAAA;AAGF,+DAA+D;AAC/D,0DAA0D;AAC1D,MAAM,UAAU,oBAAoB,CAAC,MAAwB;IAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACvF,OAAO,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjE,CAAC,CAAC;QAEF,KAAK,EAAE,IAAI,CAAC,SAAS;aAClB,KAAK,CAAC,wBAAwB,CAAC;aAC/B,MAAM,CAAC,yBAAyB,CAAC;aACjC,QAAQ,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACxB,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC;QAEJ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrG,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC;QAEF,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACjG,OAAO,QAAQ,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,CAAA;QAC7G,CAAC,CAAC;KACH,CAAC,CAAA;IAEF,OAAO,cAAc,CAAA;AACvB,CAAC"}
1
+ {"version":3,"file":"terminalRouter.js","sourceRoot":"","sources":["../../../../../src/server/applications/terminal/terminalRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AAEpC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,WAAW;IAClB,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC/B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACjC,8BAA8B,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3E,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC;KACH,CAAC;CACH,CAAC,CAAA;AAGF,+DAA+D;AAC/D,0DAA0D;AAC1D,MAAM,UAAU,oBAAoB,CAAC,MAAwB;IAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACvF,OAAO,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjE,CAAC,CAAC;QAEF,KAAK,EAAE,IAAI,CAAC,SAAS;aAClB,KAAK,CAAC,wBAAwB,CAAC;aAC/B,MAAM,CAAC,yBAAyB,CAAC;aACjC,QAAQ,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACxB,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAC;QAEJ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACrG,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC;QAEF,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YACjG,OAAO,QAAQ,CAAC,uBAAuB,CACrC,MAAM,EACN,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CACpC,CAAA;QACH,CAAC,CAAC;KACH,CAAC,CAAA;IAEF,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -64,6 +64,8 @@ export type TestEnvironmentCommonEnvironmentVariables = {
64
64
  * @example /Users/mikavilpas/git/tui-sandbox/packages/integration-tests/test-environment
65
65
  * */
66
66
  TUI_SANDBOX_TEST_ENVIRONMENT_PATH: string;
67
+ };
68
+ export type MiseIntegrationEnvironmentVariables = {
67
69
  /** Points mise at the real user's state directory so it reuses their existing
68
70
  * trust database instead of prompting to trust config files (which no test can
69
71
  * answer). Trusted configs pass silently; untrusted ones still prompt, keeping