@tui-sandbox/library 13.0.1 → 13.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/scripts/resolveConfig.test.js +12 -6
- package/dist/src/scripts/resolveConfig.test.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/TempDirectory.d.ts +2 -2
- package/dist/src/server/applications/neovim/environment/TempDirectory.js +3 -2
- package/dist/src/server/applications/neovim/environment/TempDirectory.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.test.js +9 -7
- package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.test.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/createTempDir.test.js +4 -2
- package/dist/src/server/applications/neovim/environment/createTempDir.test.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.js +12 -1
- package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.test.js +6 -12
- package/dist/src/server/applications/neovim/environment/resolveMiseBinPaths.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -65,7 +65,7 @@ it("defaults to the default configuration if no config file is found", async ()
|
|
|
65
65
|
it("loads a custom configuration file if it exists", async () => {
|
|
66
66
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
67
67
|
try {
|
|
68
|
-
const dir = __addDisposableResource(env_1, TempDirectory.create(),
|
|
68
|
+
const dir = __addDisposableResource(env_1, TempDirectory.create(), true);
|
|
69
69
|
const filename = `${dir.path}/tui-sandbox.config.ts`;
|
|
70
70
|
const customConfig = {
|
|
71
71
|
directories: {
|
|
@@ -95,13 +95,15 @@ it("loads a custom configuration file if it exists", async () => {
|
|
|
95
95
|
env_1.hasError = true;
|
|
96
96
|
}
|
|
97
97
|
finally {
|
|
98
|
-
__disposeResources(env_1);
|
|
98
|
+
const result_1 = __disposeResources(env_1);
|
|
99
|
+
if (result_1)
|
|
100
|
+
await result_1;
|
|
99
101
|
}
|
|
100
102
|
});
|
|
101
103
|
it("uses the default configuration file if the config has invalid contents", async () => {
|
|
102
104
|
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
103
105
|
try {
|
|
104
|
-
const dir = __addDisposableResource(env_2, TempDirectory.create(),
|
|
106
|
+
const dir = __addDisposableResource(env_2, TempDirectory.create(), true);
|
|
105
107
|
{
|
|
106
108
|
const customConfig = {
|
|
107
109
|
// @ts-expect-error testing an invalid config on purpose
|
|
@@ -122,13 +124,15 @@ it("uses the default configuration file if the config has invalid contents", asy
|
|
|
122
124
|
env_2.hasError = true;
|
|
123
125
|
}
|
|
124
126
|
finally {
|
|
125
|
-
__disposeResources(env_2);
|
|
127
|
+
const result_2 = __disposeResources(env_2);
|
|
128
|
+
if (result_2)
|
|
129
|
+
await result_2;
|
|
126
130
|
}
|
|
127
131
|
});
|
|
128
132
|
it("fails if the config has not been exported from the config file", async () => {
|
|
129
133
|
const env_3 = { stack: [], error: void 0, hasError: false };
|
|
130
134
|
try {
|
|
131
|
-
const dir = __addDisposableResource(env_3, TempDirectory.create(),
|
|
135
|
+
const dir = __addDisposableResource(env_3, TempDirectory.create(), true);
|
|
132
136
|
{
|
|
133
137
|
const filename = `${dir.path}/tui-sandbox.config.ts`;
|
|
134
138
|
const contents = ``;
|
|
@@ -144,7 +148,9 @@ it("fails if the config has not been exported from the config file", async () =>
|
|
|
144
148
|
env_3.hasError = true;
|
|
145
149
|
}
|
|
146
150
|
finally {
|
|
147
|
-
__disposeResources(env_3);
|
|
151
|
+
const result_3 = __disposeResources(env_3);
|
|
152
|
+
if (result_3)
|
|
153
|
+
await result_3;
|
|
148
154
|
}
|
|
149
155
|
});
|
|
150
156
|
//# sourceMappingURL=resolveConfig.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveConfig.test.js","sourceRoot":"","sources":["../../../src/scripts/resolveConfig.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAA;AAE1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAA;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IAChF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACrB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAA+D,CAAC,CAAA;IACvF,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnF,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;;;QAC9D,
|
|
1
|
+
{"version":3,"file":"resolveConfig.test.js","sourceRoot":"","sources":["../../../src/scripts/resolveConfig.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type TestTempDirPrefix = "test-temp-dir-";
|
|
2
|
-
export declare class TempDirectory implements
|
|
2
|
+
export declare class TempDirectory implements AsyncDisposable {
|
|
3
3
|
readonly path: string;
|
|
4
4
|
private constructor();
|
|
5
5
|
static create(prefix?: `${string}-`): TempDirectory;
|
|
6
|
-
[Symbol.
|
|
6
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
7
7
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
|
+
import fsPromises from "fs/promises";
|
|
2
3
|
import nodePath from "path";
|
|
3
4
|
export class TempDirectory {
|
|
4
5
|
path;
|
|
@@ -10,8 +11,8 @@ export class TempDirectory {
|
|
|
10
11
|
const absolutePath = nodePath.resolve(tmp);
|
|
11
12
|
return new TempDirectory(absolutePath);
|
|
12
13
|
}
|
|
13
|
-
[Symbol.
|
|
14
|
-
|
|
14
|
+
async [Symbol.asyncDispose]() {
|
|
15
|
+
await fsPromises.rm(this.path, { recursive: true, force: true });
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=TempDirectory.js.map
|
|
@@ -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,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,
|
|
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,UAAU,MAAM,aAAa,CAAA;AACpC,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,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,CAAC;CACF"}
|
|
@@ -71,7 +71,7 @@ const symlinkFileExists = (path) => {
|
|
|
71
71
|
it("creates a uniquely named directory under the system temp dir", async () => {
|
|
72
72
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
73
73
|
try {
|
|
74
|
-
const testDir = __addDisposableResource(env_1, newTestDir(),
|
|
74
|
+
const testDir = __addDisposableResource(env_1, newTestDir(), true);
|
|
75
75
|
const dir = __addDisposableResource(env_1, await XdgRuntimeDirectory.create(testDir.path), true);
|
|
76
76
|
expect(existsSync(dir.path)).toBe(true);
|
|
77
77
|
expect(dir.path).toContain("tui-xdg-");
|
|
@@ -89,7 +89,7 @@ it("creates a uniquely named directory under the system temp dir", async () => {
|
|
|
89
89
|
it("removes the directory and the symlink when disposed", async () => {
|
|
90
90
|
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
91
91
|
try {
|
|
92
|
-
const testDir = __addDisposableResource(env_2, newTestDir(),
|
|
92
|
+
const testDir = __addDisposableResource(env_2, newTestDir(), true);
|
|
93
93
|
let createdPath;
|
|
94
94
|
let createdSymlinkPath;
|
|
95
95
|
{
|
|
@@ -121,7 +121,9 @@ it("removes the directory and the symlink when disposed", async () => {
|
|
|
121
121
|
env_2.hasError = true;
|
|
122
122
|
}
|
|
123
123
|
finally {
|
|
124
|
-
__disposeResources(env_2);
|
|
124
|
+
const result_3 = __disposeResources(env_2);
|
|
125
|
+
if (result_3)
|
|
126
|
+
await result_3;
|
|
125
127
|
}
|
|
126
128
|
});
|
|
127
129
|
it("rejects (and does not leak a temp dir) when the symlink cannot be created", async () => {
|
|
@@ -136,7 +138,7 @@ it("stays well under the OS Unix-socket path limit (this is the reason it exists
|
|
|
136
138
|
// `/yazi+<uid>/.dds.sock`). The full socket path must fit in `sun_path`
|
|
137
139
|
// (~104 bytes on macOS, ~108 on Linux), so the directory itself must leave
|
|
138
140
|
// ample room.
|
|
139
|
-
const testDir = __addDisposableResource(env_4, newTestDir(),
|
|
141
|
+
const testDir = __addDisposableResource(env_4, newTestDir(), true);
|
|
140
142
|
const dir = __addDisposableResource(env_4, await XdgRuntimeDirectory.create(testDir.path), true);
|
|
141
143
|
const exampleSocketPath = join(dir.path, "yazi+1000", ".dds.sock");
|
|
142
144
|
// Use the stricter macOS limit as the bound so it holds on both platforms.
|
|
@@ -147,9 +149,9 @@ it("stays well under the OS Unix-socket path limit (this is the reason it exists
|
|
|
147
149
|
env_4.hasError = true;
|
|
148
150
|
}
|
|
149
151
|
finally {
|
|
150
|
-
const
|
|
151
|
-
if (
|
|
152
|
-
await
|
|
152
|
+
const result_4 = __disposeResources(env_4);
|
|
153
|
+
if (result_4)
|
|
154
|
+
await result_4;
|
|
153
155
|
}
|
|
154
156
|
});
|
|
155
157
|
//# sourceMappingURL=XdgRuntimeDirectory.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XdgRuntimeDirectory.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/XdgRuntimeDirectory.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAE1D;;iFAEiF;AACjF,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAW,EAAE;IAClD,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;;;QAC5E,
|
|
1
|
+
{"version":3,"file":"XdgRuntimeDirectory.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/XdgRuntimeDirectory.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ it("should create a temp dir with no contents", async () => {
|
|
|
60
60
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
61
61
|
try {
|
|
62
62
|
// typically the user will want to have contents, but this should not be an error
|
|
63
|
-
const dir = __addDisposableResource(env_1, TempDirectory.create(),
|
|
63
|
+
const dir = __addDisposableResource(env_1, TempDirectory.create(), true);
|
|
64
64
|
const result = await createTempDir({
|
|
65
65
|
...createDefaultConfig("cwd", {}),
|
|
66
66
|
directories: {
|
|
@@ -79,7 +79,9 @@ it("should create a temp dir with no contents", async () => {
|
|
|
79
79
|
env_1.hasError = true;
|
|
80
80
|
}
|
|
81
81
|
finally {
|
|
82
|
-
__disposeResources(env_1);
|
|
82
|
+
const result_1 = __disposeResources(env_1);
|
|
83
|
+
if (result_1)
|
|
84
|
+
await result_1;
|
|
83
85
|
}
|
|
84
86
|
});
|
|
85
87
|
//# sourceMappingURL=createTempDir.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTempDir.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/createTempDir.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAEpD,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;;;QACzD,iFAAiF;QACjF,
|
|
1
|
+
{"version":3,"file":"createTempDir.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/createTempDir.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,QAAQ,MAAM,MAAM,CAAA;AAG3B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAEpD,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;;;QACzD,iFAAiF;QACjF,MAAY,GAAG,kCAAG,aAAa,CAAC,MAAM,EAAE,OAAA,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACjC,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC;YACjC,WAAW,EAAE;gBACX,mBAAmB,EAAE,GAAG,CAAC,IAAI;gBAC7B,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC;gBAC7D,iBAAiB,EAAE,QAAQ;aAC5B;SACsC,CAAC,CAAA;QAE1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAA4C,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QACtG,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,QAAQ,CAAC,UAAiC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;;;;;;;;;;;CACpG,CAAC,CAAA"}
|
|
@@ -20,7 +20,18 @@ export const resolveMiseBinPaths = (cwd = process.cwd(), environment = process.e
|
|
|
20
20
|
const cached = cache.get(cwd);
|
|
21
21
|
if (cached)
|
|
22
22
|
return cached;
|
|
23
|
-
|
|
23
|
+
let paths;
|
|
24
|
+
try {
|
|
25
|
+
paths = run(cwd, environment);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
// Support cases where mise is used for local development but not installed
|
|
29
|
+
// in CI.
|
|
30
|
+
log(`Failed to resolve mise bin paths from ${cwd}`, err);
|
|
31
|
+
console.warn(`Failed to resolve mise bin paths from ${cwd}: ${JSON.stringify(err)}`);
|
|
32
|
+
paths = "";
|
|
33
|
+
}
|
|
34
|
+
const binPaths = parseMiseBinPaths(paths);
|
|
24
35
|
log(`Resolved ${binPaths.length} mise bin path(s) from ${cwd}`);
|
|
25
36
|
cache.set(cwd, binPaths);
|
|
26
37
|
return binPaths;
|
|
@@ -1 +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,
|
|
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,IAAI,KAAa,CAAA;IACjB,IAAI,CAAC;QACH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2EAA2E;QAC3E,SAAS;QACT,GAAG,CAAC,yCAAyC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;QACxD,OAAO,CAAC,IAAI,CAAC,yCAAyC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACpF,KAAK,GAAG,EAAE,CAAA;IACZ,CAAC;IACD,MAAM,QAAQ,GAAa,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACnD,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"}
|
|
@@ -20,18 +20,12 @@ it("memoizes per working directory (only shells out once)", () => {
|
|
|
20
20
|
resolveMiseBinPaths("/repo", {}, run);
|
|
21
21
|
expect(calls).toBe(1);
|
|
22
22
|
});
|
|
23
|
-
it("
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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/);
|
|
23
|
+
it("no-ops when mise is not installed", () => {
|
|
24
|
+
// Support cases where mise is used for local development but not installed
|
|
25
|
+
// in CI.
|
|
26
|
+
expect(resolveMiseBinPaths("/repo", {}, () => {
|
|
27
|
+
throw Object.assign(new Error("(test) spawn mise ENOENT"), { code: "ENOENT" });
|
|
28
|
+
})).toEqual([]);
|
|
35
29
|
});
|
|
36
30
|
it("prepends bin paths so mise-managed tools win over system copies", () => {
|
|
37
31
|
const env = prependMiseBinPathsToPath({ PATH: "/usr/bin:/bin" }, ["/mise/lazygit/bin", "/mise/delta/bin"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveMiseBinPaths.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/resolveMiseBinPaths.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE9C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,SAAS,CAAC,GAAG,EAAE;IACb,sBAAsB,EAAE,CAAA;AAC1B,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AACrG,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;IACxD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAA;IAC3E,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,GAAG,GAAG,GAAW,EAAE;QACvB,KAAK,EAAE,CAAA;QACP,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IACD,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACrC,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"resolveMiseBinPaths.test.js","sourceRoot":"","sources":["../../../../../../src/server/applications/neovim/environment/resolveMiseBinPaths.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE9C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,SAAS,CAAC,GAAG,EAAE;IACb,sBAAsB,EAAE,CAAA;AAC1B,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AACrG,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;IACxD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAA;IAC3E,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,GAAG,GAAG,GAAW,EAAE;QACvB,KAAK,EAAE,CAAA;QACP,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IACD,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACrC,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC3C,2EAA2E;IAC3E,SAAS;IACT,MAAM,CACJ,mBAAmB,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE;QACpC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAChF,CAAC,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;AACf,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;IACzE,MAAM,GAAG,GAAG,yBAAyB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAC1G,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;AAC7E,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;IAC9D,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;IACzD,MAAM,CAAC,yBAAyB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA;AAEF,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;IAChC,MAAM,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvF,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|