@tui-sandbox/library 9.1.3 → 9.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/src/scripts/tui.js +1 -1
- package/dist/src/scripts/tui.js.map +1 -1
- package/dist/src/server/dirtree/index.d.ts +2 -2
- package/dist/src/server/dirtree/index.js +7 -7
- package/dist/src/server/dirtree/index.js.map +1 -1
- package/dist/src/server/dirtree/index.test.js +32 -0
- package/dist/src/server/dirtree/index.test.js.map +1 -1
- package/dist/src/server/neovim/environment/createTempDir.js +4 -2
- package/dist/src/server/neovim/environment/createTempDir.js.map +1 -1
- package/dist/src/server/neovim/index.d.ts +0 -1
- package/dist/src/server/neovim/index.js +1 -6
- package/dist/src/server/neovim/index.js.map +1 -1
- package/dist/src/server/neovim/prepareNewTestDirectory.d.ts +3 -0
- package/dist/src/server/neovim/prepareNewTestDirectory.js +16 -0
- package/dist/src/server/neovim/prepareNewTestDirectory.js.map +1 -0
- package/dist/src/server/neovim/prepareNewTestDirectory.test.d.ts +1 -0
- package/dist/src/server/neovim/prepareNewTestDirectory.test.js +24 -0
- package/dist/src/server/neovim/prepareNewTestDirectory.test.js.map +1 -0
- package/dist/src/server/terminal/index.js +1 -1
- package/dist/src/server/terminal/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/scripts/tui.ts +1 -1
- package/src/server/dirtree/index.test.ts +33 -0
- package/src/server/dirtree/index.ts +11 -9
- package/src/server/neovim/environment/createTempDir.ts +4 -2
- package/src/server/neovim/index.ts +1 -7
- package/src/server/neovim/prepareNewTestDirectory.test.ts +24 -0
- package/src/server/neovim/prepareNewTestDirectory.ts +18 -0
- package/src/server/terminal/index.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [9.1.5](https://github.com/mikavilpas/tui-sandbox/compare/library-v9.1.4...library-v9.1.5) (2025-02-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* not being able to create a new test directory in a new project ([#292](https://github.com/mikavilpas/tui-sandbox/issues/292)) ([7cfadad](https://github.com/mikavilpas/tui-sandbox/commit/7cfadad4bc2a10fc3992d59db98a627fbd2ca3de))
|
|
9
|
+
|
|
10
|
+
## [9.1.4](https://github.com/mikavilpas/tui-sandbox/compare/library-v9.1.3...library-v9.1.4) (2025-02-15)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* build an empty schema when trying to scan a nonexistent directory ([#290](https://github.com/mikavilpas/tui-sandbox/issues/290)) ([c04901f](https://github.com/mikavilpas/tui-sandbox/commit/c04901f66ed2fbe7b103ff46af59a15cec6d4df3))
|
|
16
|
+
|
|
3
17
|
## [9.1.3](https://github.com/mikavilpas/tui-sandbox/compare/library-v9.1.2...library-v9.1.3) (2025-02-15)
|
|
4
18
|
|
|
5
19
|
|
package/dist/src/scripts/tui.js
CHANGED
|
@@ -55,7 +55,7 @@ import path from "node:path";
|
|
|
55
55
|
import { createCypressSupportFile } from "../server/cypress-support/createCypressSupportFile.js";
|
|
56
56
|
import { startTestServer, updateTestdirectorySchemaFile } from "../server/index.js";
|
|
57
57
|
import { NeovimApplication } from "../server/neovim/NeovimApplication.js";
|
|
58
|
-
import { prepareNewTestDirectory } from "../server/neovim/
|
|
58
|
+
import { prepareNewTestDirectory } from "../server/neovim/prepareNewTestDirectory.js";
|
|
59
59
|
//
|
|
60
60
|
// This is the main entrypoint to tui-sandbox
|
|
61
61
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/scripts/tui.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAA;AAEhG,OAAO,EAAE,eAAe,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAEnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../../../src/scripts/tui.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Dree } from "dree";
|
|
2
2
|
import { Type } from "dree";
|
|
3
3
|
type TreeResult = {
|
|
4
|
-
dree: Dree;
|
|
4
|
+
dree: Dree | undefined;
|
|
5
5
|
allFiles: Dree[];
|
|
6
6
|
};
|
|
7
7
|
/** Convert a directory tree to a TypeScript type. This is useful for testing
|
|
@@ -17,7 +17,7 @@ type DirectoryNode = {
|
|
|
17
17
|
contents: Record<string, TreeNode>;
|
|
18
18
|
};
|
|
19
19
|
type TreeNode = FileNode | DirectoryNode;
|
|
20
|
-
export declare function convertDree(root: Dree): TreeNode;
|
|
20
|
+
export declare function convertDree(root: Dree | undefined): TreeNode;
|
|
21
21
|
export declare function buildSchemaForDirectoryTree(result: TreeResult, name: string): Promise<string>;
|
|
22
22
|
export declare function buildTestDirectorySchema(testDirectoryPath: string): Promise<string>;
|
|
23
23
|
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
1
|
import { scan, Type } from "dree";
|
|
3
2
|
import { format, resolveConfig } from "prettier";
|
|
4
3
|
import { fileURLToPath } from "url";
|
|
@@ -16,10 +15,13 @@ export function getDirectoryTree(path) {
|
|
|
16
15
|
allFiles.push(file);
|
|
17
16
|
}, dir => {
|
|
18
17
|
allFiles.push(dir);
|
|
19
|
-
});
|
|
20
|
-
return { dree: result, allFiles };
|
|
18
|
+
}); // https://github.com/euberdeveloper/dree/pull/51
|
|
19
|
+
return { dree: result ?? undefined, allFiles };
|
|
21
20
|
}
|
|
22
21
|
export function convertDree(root) {
|
|
22
|
+
if (!root) {
|
|
23
|
+
return { type: Type.DIRECTORY, name: "root", contents: {} };
|
|
24
|
+
}
|
|
23
25
|
if (root.type === Type.FILE) {
|
|
24
26
|
return {
|
|
25
27
|
name: root.name,
|
|
@@ -37,10 +39,8 @@ export function convertDree(root) {
|
|
|
37
39
|
return node;
|
|
38
40
|
}
|
|
39
41
|
export async function buildSchemaForDirectoryTree(result, name) {
|
|
40
|
-
const root = result.dree;
|
|
41
|
-
|
|
42
|
-
const node = convertDree(root);
|
|
43
|
-
const schema = (await jsonToZod(node, `${name}Schema`)).split("\n");
|
|
42
|
+
const root = convertDree(result.dree);
|
|
43
|
+
const schema = (await jsonToZod(root, `${name}Schema`)).split("\n");
|
|
44
44
|
const lines = `
|
|
45
45
|
// Note: This file is autogenerated. Do not edit it directly.
|
|
46
46
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAI5C;yEACyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAW,EAAE,CAAA;IAC3B,MAAM,MAAM,GAAG,IAAI,CACjB,IAAI,EACJ;QACE,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC/B,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,KAAK;KACnB,EACD,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CACa,CAAA,CAAC,iDAAiD;IAElE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAA;AAChD,CAAC;AAcD,MAAM,UAAU,WAAW,CAAC,IAAsB;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAC7D,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAkB;QAC1B,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,EAAE;KACb,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAAkB,EAAE,IAAY;IAChF,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAErC,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEnE,MAAM,KAAK,GAAG;;;;;;;;;;CAUf,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEX,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;IAC7D,MAAM,cAAc,GAAG,GAAG,IAAI,gBAAgB,CAAA;IAC9C,MAAM,kBAAkB,GAAG,GAAG,IAAI,oBAAoB,CAAA;IACtD,OAAO;QACL,GAAG,KAAK;QACR,GAAG,MAAM;QACT,gBAAgB,cAAc,MAAM,IAAI,uBAAuB;QAC/D,eAAe,kBAAkB,qBAAqB,IAAI,SAAS;QACnE,EAAE;QACF,eAAe,IAAI,MAAM,kBAAkB,cAAc;QACzD,EAAE;QACF,4CAA4C,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG;QACpF,sEAAsE;KACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEjD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,iBAAyB;IACtE,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,iBAAiB,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;IAChD,IAAI,IAAI,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAErE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAA;IAC/C,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;IAE/D,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -152,5 +152,37 @@ describe("dirtree", () => {
|
|
|
152
152
|
export type MyTestDirectoryFile = z.infer<typeof testDirectoryFiles>"
|
|
153
153
|
`);
|
|
154
154
|
});
|
|
155
|
+
it("creates an empty schema when the directory cannot be read", async () => {
|
|
156
|
+
const tree = getDirectoryTree("nonexistent");
|
|
157
|
+
const result = await buildSchemaForDirectoryTree(tree, "MyDirectoryTree");
|
|
158
|
+
expect(result).toMatchInlineSnapshot(`
|
|
159
|
+
"
|
|
160
|
+
// Note: This file is autogenerated. Do not edit it directly.
|
|
161
|
+
//
|
|
162
|
+
// Describes the contents of the test directory, which is a blueprint for
|
|
163
|
+
// files and directories. Tests can create a unique, safe environment for
|
|
164
|
+
// interacting with the contents of such a directory.
|
|
165
|
+
//
|
|
166
|
+
// Having strong typing for the test directory contents ensures that tests can
|
|
167
|
+
// be written with confidence that the files and directories they expect are
|
|
168
|
+
// actually found. Otherwise the tests are brittle and can break easily.
|
|
169
|
+
|
|
170
|
+
import { z } from "zod"
|
|
171
|
+
|
|
172
|
+
export const MyDirectoryTreeSchema = z.object({
|
|
173
|
+
type: z.literal("directory"),
|
|
174
|
+
name: z.literal("root"),
|
|
175
|
+
contents: z.object({}),
|
|
176
|
+
})
|
|
177
|
+
|
|
178
|
+
export const MyDirectoryTreeContentsSchema = MyDirectoryTreeSchema.shape.contents
|
|
179
|
+
export type MyDirectoryTreeContentsSchemaType = z.infer<typeof MyDirectoryTreeSchema>
|
|
180
|
+
|
|
181
|
+
export type MyDirectoryTree = MyDirectoryTreeContentsSchemaType["contents"]
|
|
182
|
+
|
|
183
|
+
export const testDirectoryFiles = z.enum([])
|
|
184
|
+
export type MyTestDirectoryFile = z.infer<typeof testDirectoryFiles>"
|
|
185
|
+
`);
|
|
186
|
+
});
|
|
155
187
|
});
|
|
156
188
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1E,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAC3B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CACxG,CAAA;IAED,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAA;QAEpC,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAEjF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwIpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE1E,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAC3B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,CACxG,CAAA;IAED,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAA;QAEpC,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAA;QAEjF,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwIpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
2
|
import { execSync } from "child_process";
|
|
3
3
|
import { Type } from "dree";
|
|
4
|
-
import { constants, readdirSync } from "fs";
|
|
4
|
+
import { constants, readdirSync, statSync } from "fs";
|
|
5
5
|
import { access, mkdir, mkdtemp } from "fs/promises";
|
|
6
6
|
import path from "path";
|
|
7
7
|
import { convertDree, getDirectoryTree } from "../../dirtree/index.js";
|
|
8
8
|
import { updateTestdirectorySchemaFile } from "../../updateTestdirectorySchemaFile.js";
|
|
9
9
|
export async function createTempDir(config) {
|
|
10
10
|
try {
|
|
11
|
+
// before calling this function, the testEnvironmentPath should already exist
|
|
12
|
+
statSync(config.testEnvironmentPath);
|
|
11
13
|
const dir = await createUniqueDirectory(config.testEnvironmentPath);
|
|
12
14
|
readdirSync(config.testEnvironmentPath).forEach(entry => {
|
|
13
15
|
if (entry === "testdirs")
|
|
@@ -51,7 +53,7 @@ export async function removeTestDirectories(testEnvironmentPath) {
|
|
|
51
53
|
execSync(`rm -rf ${testdirs}/*`);
|
|
52
54
|
}
|
|
53
55
|
catch (e) {
|
|
54
|
-
console.
|
|
56
|
+
console.debug("Could not remove test directories, maybe they don't exist yet", e);
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
//# sourceMappingURL=createTempDir.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTempDir.js","sourceRoot":"","sources":["../../../../../src/server/neovim/environment/createTempDir.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"createTempDir.js","sourceRoot":"","sources":["../../../../../src/server/neovim/environment/createTempDir.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,6 @@ export declare function initializeStdout(options: {
|
|
|
9
9
|
client: TabId;
|
|
10
10
|
}, signal: AbortSignal | undefined, testEnvironmentPath: string): Promise<AsyncGenerator<string, void, unknown>>;
|
|
11
11
|
export declare function start(options: StartNeovimGenericArguments, terminalDimensions: TerminalDimensions, tabId: TabId, config: DirectoriesConfig): Promise<TestDirectory>;
|
|
12
|
-
export declare function prepareNewTestDirectory(config: DirectoriesConfig): Promise<TestDirectory>;
|
|
13
12
|
export declare function sendStdin(options: {
|
|
14
13
|
tabId: TabId;
|
|
15
14
|
data: string;
|
|
@@ -58,8 +58,8 @@ import path from "path";
|
|
|
58
58
|
import util from "util";
|
|
59
59
|
import { convertEventEmitterToAsyncGenerator } from "../utilities/generator.js";
|
|
60
60
|
import { Lazy } from "../utilities/Lazy.js";
|
|
61
|
-
import { createTempDir, removeTestDirectories } from "./environment/createTempDir.js";
|
|
62
61
|
import { NeovimApplication } from "./NeovimApplication.js";
|
|
62
|
+
import { prepareNewTestDirectory } from "./prepareNewTestDirectory.js";
|
|
63
63
|
const neovims = new Map();
|
|
64
64
|
const resources = new Lazy(() => {
|
|
65
65
|
return new AsyncDisposableStack();
|
|
@@ -125,11 +125,6 @@ export async function start(options, terminalDimensions, tabId, config) {
|
|
|
125
125
|
await neovim.startNextAndKillCurrent(testDirectory, options, terminalDimensions);
|
|
126
126
|
return testDirectory;
|
|
127
127
|
}
|
|
128
|
-
export async function prepareNewTestDirectory(config) {
|
|
129
|
-
await removeTestDirectories(config.testEnvironmentPath);
|
|
130
|
-
const testDirectory = await createTempDir(config);
|
|
131
|
-
return testDirectory;
|
|
132
|
-
}
|
|
133
128
|
export async function sendStdin(options) {
|
|
134
129
|
const neovim = neovims.get(options.tabId.tabId);
|
|
135
130
|
assert(neovim !== undefined, `Neovim instance for clientId not found - cannot send stdin. Maybe it's not started yet?`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/neovim/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,yDAAyD,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,IAAI,MAAM,MAAM,CAAA;AAUvB,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/neovim/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { access, mkdir } from "fs/promises";
|
|
2
|
+
import { createTempDir, removeTestDirectories } from "./environment/createTempDir.js";
|
|
3
|
+
export async function prepareNewTestDirectory(config) {
|
|
4
|
+
try {
|
|
5
|
+
// if the directory does not exist, create it
|
|
6
|
+
await access(config.testEnvironmentPath);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
console.log(`Creating testEnvironmentPath directory at ${config.testEnvironmentPath}`);
|
|
10
|
+
await mkdir(config.testEnvironmentPath, { recursive: true });
|
|
11
|
+
}
|
|
12
|
+
await removeTestDirectories(config.testEnvironmentPath);
|
|
13
|
+
const testDirectory = await createTempDir(config);
|
|
14
|
+
return testDirectory;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=prepareNewTestDirectory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareNewTestDirectory.js","sourceRoot":"","sources":["../../../../src/server/neovim/prepareNewTestDirectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAG3C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAErF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAyB;IACrE,IAAI,CAAC;QACH,6CAA6C;QAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAA;QACtF,MAAM,KAAK,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;IACjD,OAAO,aAAa,CAAA;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { rm } from "fs/promises";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { prepareNewTestDirectory } from "./prepareNewTestDirectory.js";
|
|
4
|
+
describe("prepareNewTestDirectory when the testEnvironmentPath does not exist", () => {
|
|
5
|
+
it("should be able to create a new test directory", async () => {
|
|
6
|
+
// this happens when starting a new project, and the directory structure
|
|
7
|
+
// has not been created yet
|
|
8
|
+
const testEnvironmentPath = "/tmp/test";
|
|
9
|
+
const testDirectory = await prepareNewTestDirectory({
|
|
10
|
+
outputFilePath: path.join(testEnvironmentPath, "foo.ts"),
|
|
11
|
+
testEnvironmentPath,
|
|
12
|
+
});
|
|
13
|
+
try {
|
|
14
|
+
expect(testDirectory.contents).toEqual({});
|
|
15
|
+
expect(testDirectory.testEnvironmentPath).toEqual("/tmp/test");
|
|
16
|
+
}
|
|
17
|
+
finally {
|
|
18
|
+
// for safety, only remove inside /tmp
|
|
19
|
+
assert(testEnvironmentPath.startsWith("/tmp/"));
|
|
20
|
+
await rm(testEnvironmentPath, { recursive: true });
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=prepareNewTestDirectory.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareNewTestDirectory.test.js","sourceRoot":"","sources":["../../../../src/server/neovim/prepareNewTestDirectory.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,QAAQ,CAAC,qEAAqE,EAAE,GAAG,EAAE;IACnF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,wEAAwE;QACxE,2BAA2B;QAC3B,MAAM,mBAAmB,GAAG,WAAW,CAAA;QACvC,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC;YAClD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC;YACxD,mBAAmB;SACpB,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC1C,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAChE,CAAC;gBAAS,CAAC;YACT,sCAAsC;YACtC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;YAC/C,MAAM,EAAE,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
2
|
import "core-js/proposals/async-explicit-resource-management.js";
|
|
3
|
-
import { prepareNewTestDirectory } from "../neovim/
|
|
3
|
+
import { prepareNewTestDirectory } from "../neovim/prepareNewTestDirectory.js";
|
|
4
4
|
import { convertEventEmitterToAsyncGenerator } from "../utilities/generator.js";
|
|
5
5
|
import { Lazy } from "../utilities/Lazy.js";
|
|
6
6
|
import TerminalTestApplication from "./TerminalTestApplication.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/terminal/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,yDAAyD,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/terminal/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,yDAAyD,CAAA;AAEhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAE9E,OAAO,EAAE,mCAAmC,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,uBAAuB,MAAM,8BAA8B,CAAA;AAElE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2C,CAAA;AACpE,MAAM,SAAS,GAA+B,IAAI,IAAI,CAAC,GAAG,EAAE;IAC1D,OAAO,IAAI,oBAAoB,EAAE,CAAA;AACnC,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,kBAAsC,EACtC,YAAsB,EACtB,KAAY,EACZ,MAAyB;IAEzB,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,CAAC,GAAG,EAAE,uBAAuB,KAAK,CAAC,KAAK,aAAa,CAAC,CAAA;IAC5D,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,GAAG,CAAC,uBAAuB,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,kBAAkB,CAAC,CAAA;AACxF,CAAC;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,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,uBAAuB,CAAC,mBAAmB,CAAC,CAAA;IACpF,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACvC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACzB,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;YACnC,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAA;QAChC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,mCAAmC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACxE,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACrC,KAAK,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3C,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAuC;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAA;IACjC,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,2FAA2F,CAAC,CAAA;IACtH,MAAM,CACJ,GAAG,CAAC,WAAW,EACf,gDAAgD,OAAO,CAAC,KAAK,CAAC,KAAK,+BAA+B,CACnG,CAAA;IAED,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAC3C,CAAC"}
|