@tui-sandbox/library 12.6.0 → 12.6.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.
- package/dist/browser/assets/{index-C1F3S38B.js → index-KlMa5jBP.js} +4 -4
- package/dist/browser/index.html +1 -1
- package/dist/src/browser/neovim-client.js.map +1 -1
- package/dist/src/client/BatchedAsyncQueue.test.js.map +1 -1
- package/dist/src/client/color-utilities.test.js.map +1 -1
- package/dist/src/client/drawTextBox.test.js.map +1 -1
- package/dist/src/client/extractTerminalContent.test.js.map +1 -1
- package/dist/src/client/neovim/MyNeovimConfigModification.test.js.map +1 -1
- package/dist/src/client/neovim/neovim-terminal-client.js.map +1 -1
- package/dist/src/client/startTerminal.js.map +1 -1
- package/dist/src/client/terminal/terminal-config.js.map +1 -1
- package/dist/src/client/terminal/terminal-terminal-client.js.map +1 -1
- package/dist/src/scripts/commands/commandRun.js +1 -1
- package/dist/src/scripts/commands/commandRun.js.map +1 -1
- package/dist/src/scripts/commands/commandTuiStart.js +3 -2
- package/dist/src/scripts/commands/commandTuiStart.js.map +1 -1
- package/dist/src/scripts/parseArguments.js.map +1 -1
- package/dist/src/scripts/parseArguments.test.js.map +1 -1
- package/dist/src/scripts/resolveConfig.test.js +1 -0
- package/dist/src/scripts/resolveConfig.test.js.map +1 -1
- package/dist/src/scripts/resolveTuiConfig.js.map +1 -1
- package/dist/src/scripts/tui.js.map +1 -1
- package/dist/src/server/TestServer.js +3 -3
- package/dist/src/server/TestServer.js.map +1 -1
- package/dist/src/server/applications/neovim/NeovimApplication.js.map +1 -1
- package/dist/src/server/applications/neovim/NeovimJavascriptApiClient.js.map +1 -1
- package/dist/src/server/applications/neovim/NeovimJavascriptApiClient.test.js.map +1 -1
- package/dist/src/server/applications/neovim/api.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/XdgRuntimeDirectory.test.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/createTempDir.js.map +1 -1
- package/dist/src/server/applications/neovim/environment/createTempDir.test.js.map +1 -1
- package/dist/src/server/applications/neovim/neovimRouter.js.map +1 -1
- package/dist/src/server/applications/neovim/prepareNewTestDirectory.js.map +1 -1
- package/dist/src/server/applications/neovim/prepareNewTestDirectory.test.js.map +1 -1
- package/dist/src/server/applications/terminal/TerminalTestApplication.js.map +1 -1
- package/dist/src/server/applications/terminal/api.js.map +1 -1
- package/dist/src/server/applications/terminal/runBlockingShellCommand.js.map +1 -1
- package/dist/src/server/applications/terminal/runBlockingShellCommand.test.js.map +1 -1
- package/dist/src/server/applications/terminal/terminalRouter.js.map +1 -1
- package/dist/src/server/blockingCommandInputSchema.js.map +1 -1
- package/dist/src/server/blockingCommandInputSchema.test.js.map +1 -1
- package/dist/src/server/config.d.ts +1 -1
- package/dist/src/server/config.js +5 -7
- package/dist/src/server/config.js.map +1 -1
- package/dist/src/server/cypress-support/contents.d.ts +2 -1
- package/dist/src/server/cypress-support/contents.js +3 -6
- package/dist/src/server/cypress-support/contents.js.map +1 -1
- package/dist/src/server/cypress-support/createCypressSupportFile.d.ts +3 -1
- package/dist/src/server/cypress-support/createCypressSupportFile.js +2 -2
- package/dist/src/server/cypress-support/createCypressSupportFile.js.map +1 -1
- package/dist/src/server/cypress-support/createCypressSupportFile.test.js +3 -0
- package/dist/src/server/cypress-support/createCypressSupportFile.test.js.map +1 -1
- package/dist/src/server/dirtree/index.js +16 -9
- package/dist/src/server/dirtree/index.js.map +1 -1
- package/dist/src/server/dirtree/index.test.js +97 -31
- package/dist/src/server/dirtree/index.test.js.map +1 -1
- package/dist/src/server/dirtree/json-to-zod.d.ts +2 -1
- package/dist/src/server/dirtree/json-to-zod.js +3 -11
- package/dist/src/server/dirtree/json-to-zod.js.map +1 -1
- package/dist/src/server/updateTestdirectorySchemaFile.d.ts +10 -1
- package/dist/src/server/updateTestdirectorySchemaFile.js +6 -1
- package/dist/src/server/updateTestdirectorySchemaFile.js.map +1 -1
- package/dist/src/server/updateTestdirectorySchemaFile.test.js.map +1 -1
- package/dist/src/server/utilities/DisposableSingleApplication.js.map +1 -1
- package/dist/src/server/utilities/DisposableSingleApplication.test.js.map +1 -1
- package/dist/src/server/utilities/TerminalApplication.d.ts +1 -1
- package/dist/src/server/utilities/TerminalApplication.js +1 -1
- package/dist/src/server/utilities/TerminalApplication.js.map +1 -1
- package/dist/src/server/utilities/format.d.ts +2 -0
- package/dist/src/server/utilities/format.js +12 -0
- package/dist/src/server/utilities/format.js.map +1 -0
- package/dist/src/server/utilities/format.test.d.ts +1 -0
- package/dist/src/server/utilities/format.test.js +16 -0
- package/dist/src/server/utilities/format.test.js.map +1 -0
- package/dist/src/server/utilities/generator.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +19 -19
- package/src/server/cypress-support/tui-sandbox-template.ts +1 -0
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import path from "path";
|
|
2
|
+
import { testServerConfigSchema, } from "./updateTestdirectorySchemaFile.js";
|
|
2
3
|
export const createDefaultConfig = (cwd, environment) => {
|
|
3
|
-
return {
|
|
4
|
+
return testServerConfigSchema.parse({
|
|
4
5
|
directories: {
|
|
5
6
|
testEnvironmentPath: path.join(cwd, "test-environment/"),
|
|
6
7
|
outputFilePath: path.join(cwd, "MyTestDirectory.ts"),
|
|
7
|
-
latestSymlinkName: "latest",
|
|
8
8
|
},
|
|
9
|
-
port: environment["PORT"] ? parseInt(environment["PORT"]) :
|
|
9
|
+
port: environment["PORT"] ? parseInt(environment["PORT"]) : undefined,
|
|
10
10
|
integrations: {
|
|
11
|
-
neovim: {
|
|
12
|
-
NVIM_APPNAMEs: ["nvim"],
|
|
13
|
-
},
|
|
11
|
+
neovim: {},
|
|
14
12
|
},
|
|
15
|
-
};
|
|
13
|
+
});
|
|
16
14
|
};
|
|
17
15
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/server/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EACL,sBAAsB,GAGvB,MAAM,oCAAoC,CAAA;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,WAA8B,EAAoB,EAAE;IACnG,OAAO,sBAAsB,CAAC,KAAK,CAAC;QAClC,WAAW,EAAE;YACX,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC;YACxD,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC;SACrD;QACD,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACrE,YAAY,EAAE;YACZ,MAAM,EAAE,EAAE;SACX;KAC8B,CAAC,CAAA;AACpC,CAAC,CAAA"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { FormatterConfig } from "../updateTestdirectorySchemaFile.js";
|
|
2
|
+
export declare function createCypressSupportFileContents(config: FormatterConfig): Promise<string>;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { readFileSync } from "fs";
|
|
2
2
|
import { createRequire } from "module";
|
|
3
|
-
import {
|
|
4
|
-
import { fileURLToPath } from "url";
|
|
5
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
3
|
+
import { formatCode } from "../utilities/format.js";
|
|
6
4
|
const require = createRequire(import.meta.url);
|
|
7
|
-
export async function createCypressSupportFileContents() {
|
|
5
|
+
export async function createCypressSupportFileContents(config) {
|
|
8
6
|
const templatePath = require.resolve("#tui-sandbox-template");
|
|
9
7
|
let text = readFileSync(templatePath, "utf-8");
|
|
10
|
-
|
|
11
|
-
text = await format(text, { ...options, parser: "typescript" });
|
|
8
|
+
text = await formatCode(config, text);
|
|
12
9
|
return text;
|
|
13
10
|
}
|
|
14
11
|
//# sourceMappingURL=contents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contents.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/contents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"contents.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/contents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE9C,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,MAAuB;IAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAC7D,IAAI,IAAI,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAE9C,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAErC,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { FormatterConfig } from "../updateTestdirectorySchemaFile.js";
|
|
1
2
|
export type CreateCypressSupportFileArgs = {
|
|
3
|
+
config: FormatterConfig;
|
|
2
4
|
cypressSupportDirectoryPath: string;
|
|
3
5
|
supportFileName: string;
|
|
4
6
|
};
|
|
@@ -8,4 +10,4 @@ export type CreateCypressSupportFileResult = "updated" | "did-nothing";
|
|
|
8
10
|
* application is concerned. It needs to be checked for changes once per
|
|
9
11
|
* tui-sandbox version.
|
|
10
12
|
*/
|
|
11
|
-
export declare function createCypressSupportFile({ cypressSupportDirectoryPath, supportFileName, }: CreateCypressSupportFileArgs): Promise<CreateCypressSupportFileResult>;
|
|
13
|
+
export declare function createCypressSupportFile({ config, cypressSupportDirectoryPath, supportFileName, }: CreateCypressSupportFileArgs): Promise<CreateCypressSupportFileResult>;
|
|
@@ -9,7 +9,7 @@ const log = debuglog("tui-sandbox.dirtree");
|
|
|
9
9
|
* application is concerned. It needs to be checked for changes once per
|
|
10
10
|
* tui-sandbox version.
|
|
11
11
|
*/
|
|
12
|
-
export async function createCypressSupportFile({ cypressSupportDirectoryPath, supportFileName, }) {
|
|
12
|
+
export async function createCypressSupportFile({ config, cypressSupportDirectoryPath, supportFileName, }) {
|
|
13
13
|
// create config-modifications directory if it doesn't exist
|
|
14
14
|
const configModificationsDirectoryPath = path.join(cypressSupportDirectoryPath, "config-modifications");
|
|
15
15
|
try {
|
|
@@ -19,7 +19,7 @@ export async function createCypressSupportFile({ cypressSupportDirectoryPath, su
|
|
|
19
19
|
console.info(`Creating config-modifications directory at ${configModificationsDirectoryPath}. You can put Neovim startup scripts into this directory, and load them when starting your Neovim test.`);
|
|
20
20
|
await mkdir(configModificationsDirectoryPath, { recursive: true });
|
|
21
21
|
}
|
|
22
|
-
const text = await createCypressSupportFileContents();
|
|
22
|
+
const text = await createCypressSupportFileContents(config);
|
|
23
23
|
let oldSchema = "";
|
|
24
24
|
const outputFilePath = path.join(cypressSupportDirectoryPath, supportFileName);
|
|
25
25
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCypressSupportFile.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/createCypressSupportFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"createCypressSupportFile.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/createCypressSupportFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAG/B,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAEhE,MAAM,GAAG,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAA;AAU3C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,MAAM,EACN,2BAA2B,EAC3B,eAAe,GACc;IAC7B,4DAA4D;IAC5D,MAAM,gCAAgC,GAAG,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CAAA;IACvG,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,gCAAgC,CAAC,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CACV,8CAA8C,gCAAgC,yGAAyG,CACxL,CAAA;QACD,MAAM,KAAK,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,gCAAgC,CAAC,MAAM,CAAC,CAAA;IAE3D,IAAI,SAAS,GAAG,EAAE,CAAA;IAClB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAA;IAC9E,IAAI,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,6CAA6C,cAAc,EAAE,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,oEAAoE;QACpE,0EAA0E;QAC1E,+CAA+C;QAC/C,GAAG,CAAC,sCAAsC,cAAc,EAAE,CAAC,CAAA;QAC3D,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACnC,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -20,6 +20,7 @@ describe("createCypressSupportFileContents", () => {
|
|
|
20
20
|
//
|
|
21
21
|
});
|
|
22
22
|
const result = await createCypressSupportFile({
|
|
23
|
+
config: { use: "prettier" },
|
|
23
24
|
cypressSupportDirectoryPath: "cypress/support",
|
|
24
25
|
supportFileName: "tui-sandbox.ts",
|
|
25
26
|
});
|
|
@@ -32,6 +33,7 @@ describe("createCypressSupportFileContents", () => {
|
|
|
32
33
|
});
|
|
33
34
|
mocked.createCypressSupportFileContents.mockImplementationOnce(async () => "contents");
|
|
34
35
|
const result = await createCypressSupportFile({
|
|
36
|
+
config: { use: "prettier" },
|
|
35
37
|
cypressSupportDirectoryPath: "cypress/support",
|
|
36
38
|
supportFileName: "tui-sandbox.ts",
|
|
37
39
|
});
|
|
@@ -47,6 +49,7 @@ describe("createCypressSupportFileContents", () => {
|
|
|
47
49
|
mocked.createCypressSupportFileContents.mockImplementationOnce(async () => "contents");
|
|
48
50
|
mocked.stat.mockRejectedValueOnce(new Error("ENOENT"));
|
|
49
51
|
const result = await createCypressSupportFile({
|
|
52
|
+
config: { use: "prettier" },
|
|
50
53
|
cypressSupportDirectoryPath: "cypress/support",
|
|
51
54
|
supportFileName: "tui-sandbox.ts",
|
|
52
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCypressSupportFile.test.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/createCypressSupportFile.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"createCypressSupportFile.test.js","sourceRoot":"","sources":["../../../../src/server/cypress-support/createCypressSupportFile.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAEhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAExE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACtB,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AAExB,MAAM,MAAM,GAAG;IACb,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;IACrC,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;IACvC,gCAAgC,EAAE,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC;IAC7E,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IACvB,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;CACtB,CAAA;AAED,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACpD,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAC/C,EAAE;QACJ,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;YAC5C,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;YAC3B,2BAA2B,EAAE,iBAAiB;YAC9C,eAAe,EAAE,gBAAgB;SAClC,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAkD,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAA;QAC5D,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAC/C,EAAE;QACJ,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,CAAA;QAEtF,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;YAC5C,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;YAC3B,2BAA2B,EAAE,iBAAiB;YAC9C,eAAe,EAAE,gBAAgB;SAClC,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAsD,CAAC,CAAA;IAC7E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,wEAAwE;QACxE,yCAAyC;QACzC,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACpD,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,GAAG,EAAE;YAC/C,EAAE;QACJ,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,CAAA;QACtF,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEtD,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;YAC5C,MAAM,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;YAC3B,2BAA2B,EAAE,iBAAiB;YAC9C,eAAe,EAAE,gBAAgB;SAClC,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAkD,CAAC,CAAA;QACvE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,sCAAsC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACtG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import assert from "assert";
|
|
2
|
-
import { scan, Type } from "dree";
|
|
3
2
|
import { readlinkSync } from "fs";
|
|
4
|
-
import { format, resolveConfig } from "prettier";
|
|
5
|
-
import { fileURLToPath } from "url";
|
|
6
3
|
import { debuglog } from "util";
|
|
4
|
+
import { scan, Type } from "dree";
|
|
5
|
+
import { formatCode } from "../utilities/format.js";
|
|
7
6
|
import { jsonToZod } from "./json-to-zod.js";
|
|
8
7
|
const log = debuglog("tui-sandbox.dirtree");
|
|
9
8
|
/** Convert a directory tree to a TypeScript type. This is useful for testing
|
|
@@ -52,7 +51,7 @@ export function convertDree(root) {
|
|
|
52
51
|
}
|
|
53
52
|
export async function buildSchemaForDirectoryTree(result, name, config) {
|
|
54
53
|
const root = convertDree(result.dree);
|
|
55
|
-
const schema = (await jsonToZod(root, `${name}Schema`)).split("\n");
|
|
54
|
+
const schema = (await jsonToZod(config.formatter, root, `${name}Schema`)).split("\n");
|
|
56
55
|
const lines = `
|
|
57
56
|
// Note: This file is autogenerated. Do not edit it directly.
|
|
58
57
|
//
|
|
@@ -84,13 +83,21 @@ export async function buildSchemaForDirectoryTree(result, name, config) {
|
|
|
84
83
|
`export type MyNeovimAppName = ${NVIM_APPNAMEsUnion}`,
|
|
85
84
|
].join("\n");
|
|
86
85
|
}
|
|
87
|
-
|
|
86
|
+
/** There aren't that many updates to the test-environment tree - cache the
|
|
87
|
+
* formatted schema to avoid reformatting it on every test setup. */
|
|
88
|
+
let lastFormattedSchema;
|
|
88
89
|
export async function buildTestDirectorySchema(config) {
|
|
89
90
|
log("Building schema for test directory", config.directories.testEnvironmentPath);
|
|
90
91
|
const dree = getDirectoryTree(config.directories.testEnvironmentPath);
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
const unformatted = await buildSchemaForDirectoryTree(dree, "MyTestDirectory", config);
|
|
93
|
+
const { outputFilePath } = config.directories;
|
|
94
|
+
const cacheKey = JSON.stringify([config.formatter.use, outputFilePath, unformatted]);
|
|
95
|
+
if (lastFormattedSchema?.key === cacheKey) {
|
|
96
|
+
log("Reusing cached formatted schema");
|
|
97
|
+
return lastFormattedSchema.value;
|
|
98
|
+
}
|
|
99
|
+
const formatted = await formatCode(config.formatter, unformatted);
|
|
100
|
+
lastFormattedSchema = { key: cacheKey, value: formatted };
|
|
101
|
+
return formatted;
|
|
95
102
|
}
|
|
96
103
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,32 +35,50 @@ describe("dirtree", () => {
|
|
|
35
35
|
// be written with confidence that the files and directories they expect are
|
|
36
36
|
// actually found. Otherwise the tests are brittle and can break easily.
|
|
37
37
|
|
|
38
|
-
import * as z from "zod"
|
|
38
|
+
import * as z from "zod";
|
|
39
39
|
|
|
40
40
|
export const MyDirectoryTreeSchema = z.object({
|
|
41
41
|
name: z.literal("test-environment/"),
|
|
42
42
|
type: z.literal("directory"),
|
|
43
43
|
contents: z.object({
|
|
44
|
-
".bashrc": z.object({
|
|
44
|
+
".bashrc": z.object({
|
|
45
|
+
name: z.literal(".bashrc"),
|
|
46
|
+
type: z.literal("file"),
|
|
47
|
+
}),
|
|
45
48
|
".config": z.object({
|
|
46
49
|
name: z.literal(".config/"),
|
|
47
50
|
type: z.literal("directory"),
|
|
48
51
|
contents: z.object({
|
|
49
|
-
".gitkeep": z.object({
|
|
52
|
+
".gitkeep": z.object({
|
|
53
|
+
name: z.literal(".gitkeep"),
|
|
54
|
+
type: z.literal("file"),
|
|
55
|
+
}),
|
|
50
56
|
nvim: z.object({
|
|
51
57
|
name: z.literal("nvim/"),
|
|
52
58
|
type: z.literal("directory"),
|
|
53
59
|
contents: z.object({
|
|
54
|
-
"init.lua": z.object({
|
|
55
|
-
|
|
60
|
+
"init.lua": z.object({
|
|
61
|
+
name: z.literal("init.lua"),
|
|
62
|
+
type: z.literal("file"),
|
|
63
|
+
}),
|
|
64
|
+
"prepare.lua": z.object({
|
|
65
|
+
name: z.literal("prepare.lua"),
|
|
66
|
+
type: z.literal("file"),
|
|
67
|
+
}),
|
|
56
68
|
}),
|
|
57
69
|
}),
|
|
58
70
|
nvim_alt: z.object({
|
|
59
71
|
name: z.literal("nvim_alt/"),
|
|
60
72
|
type: z.literal("directory"),
|
|
61
73
|
contents: z.object({
|
|
62
|
-
"init.lua": z.object({
|
|
63
|
-
|
|
74
|
+
"init.lua": z.object({
|
|
75
|
+
name: z.literal("init.lua"),
|
|
76
|
+
type: z.literal("file"),
|
|
77
|
+
}),
|
|
78
|
+
"prepare.lua": z.object({
|
|
79
|
+
name: z.literal("prepare.lua"),
|
|
80
|
+
type: z.literal("file"),
|
|
81
|
+
}),
|
|
64
82
|
}),
|
|
65
83
|
}),
|
|
66
84
|
}),
|
|
@@ -77,11 +95,17 @@ describe("dirtree", () => {
|
|
|
77
95
|
name: z.literal("add_command_to_update_buffer_after_timeout.lua"),
|
|
78
96
|
type: z.literal("file"),
|
|
79
97
|
}),
|
|
80
|
-
"don't_crash_when_modification_contains_unescaped_characters\\".lua":
|
|
81
|
-
|
|
98
|
+
"don't_crash_when_modification_contains_unescaped_characters\\".lua":
|
|
99
|
+
z.object({
|
|
100
|
+
name: z.literal(
|
|
101
|
+
"don't_crash_when_modification_contains_unescaped_characters\\".lua",
|
|
102
|
+
),
|
|
103
|
+
type: z.literal("file"),
|
|
104
|
+
}),
|
|
105
|
+
"set_terminal_title.lua": z.object({
|
|
106
|
+
name: z.literal("set_terminal_title.lua"),
|
|
82
107
|
type: z.literal("file"),
|
|
83
108
|
}),
|
|
84
|
-
"set_terminal_title.lua": z.object({ name: z.literal("set_terminal_title.lua"), type: z.literal("file") }),
|
|
85
109
|
subdir: z.object({
|
|
86
110
|
name: z.literal("subdir/"),
|
|
87
111
|
type: z.literal("directory"),
|
|
@@ -98,26 +122,50 @@ describe("dirtree", () => {
|
|
|
98
122
|
name: z.literal("dir with spaces/"),
|
|
99
123
|
type: z.literal("directory"),
|
|
100
124
|
contents: z.object({
|
|
101
|
-
"file1.txt": z.object({
|
|
102
|
-
|
|
125
|
+
"file1.txt": z.object({
|
|
126
|
+
name: z.literal("file1.txt"),
|
|
127
|
+
type: z.literal("file"),
|
|
128
|
+
}),
|
|
129
|
+
"file2.txt": z.object({
|
|
130
|
+
name: z.literal("file2.txt"),
|
|
131
|
+
type: z.literal("file"),
|
|
132
|
+
}),
|
|
103
133
|
}),
|
|
104
134
|
}),
|
|
105
|
-
"file.txt": z.object({
|
|
106
|
-
|
|
135
|
+
"file.txt": z.object({
|
|
136
|
+
name: z.literal("file.txt"),
|
|
137
|
+
type: z.literal("file"),
|
|
138
|
+
}),
|
|
139
|
+
"initial-file.txt": z.object({
|
|
140
|
+
name: z.literal("initial-file.txt"),
|
|
141
|
+
type: z.literal("file"),
|
|
142
|
+
}),
|
|
107
143
|
"lua-project": z.object({
|
|
108
144
|
name: z.literal("lua-project/"),
|
|
109
145
|
type: z.literal("directory"),
|
|
110
146
|
contents: z.object({
|
|
111
|
-
".luarc.json": z.object({
|
|
112
|
-
|
|
113
|
-
|
|
147
|
+
".luarc.json": z.object({
|
|
148
|
+
name: z.literal(".luarc.json"),
|
|
149
|
+
type: z.literal("file"),
|
|
150
|
+
}),
|
|
151
|
+
"config.lua": z.object({
|
|
152
|
+
name: z.literal("config.lua"),
|
|
153
|
+
type: z.literal("file"),
|
|
154
|
+
}),
|
|
155
|
+
"init.lua": z.object({
|
|
156
|
+
name: z.literal("init.lua"),
|
|
157
|
+
type: z.literal("file"),
|
|
158
|
+
}),
|
|
114
159
|
}),
|
|
115
160
|
}),
|
|
116
161
|
"other-subdirectory": z.object({
|
|
117
162
|
name: z.literal("other-subdirectory/"),
|
|
118
163
|
type: z.literal("directory"),
|
|
119
164
|
contents: z.object({
|
|
120
|
-
"other-sub-file.txt": z.object({
|
|
165
|
+
"other-sub-file.txt": z.object({
|
|
166
|
+
name: z.literal("other-sub-file.txt"),
|
|
167
|
+
type: z.literal("file"),
|
|
168
|
+
}),
|
|
121
169
|
}),
|
|
122
170
|
}),
|
|
123
171
|
routes: z.object({
|
|
@@ -128,8 +176,14 @@ describe("dirtree", () => {
|
|
|
128
176
|
name: z.literal("posts.$postId/"),
|
|
129
177
|
type: z.literal("directory"),
|
|
130
178
|
contents: z.object({
|
|
131
|
-
"adjacent-file.txt": z.object({
|
|
132
|
-
|
|
179
|
+
"adjacent-file.txt": z.object({
|
|
180
|
+
name: z.literal("adjacent-file.txt"),
|
|
181
|
+
type: z.literal("file"),
|
|
182
|
+
}),
|
|
183
|
+
"route.tsx": z.object({
|
|
184
|
+
name: z.literal("route.tsx"),
|
|
185
|
+
type: z.literal("file"),
|
|
186
|
+
}),
|
|
133
187
|
"should-be-excluded-file.txt": z.object({
|
|
134
188
|
name: z.literal("should-be-excluded-file.txt"),
|
|
135
189
|
type: z.literal("file"),
|
|
@@ -142,7 +196,10 @@ describe("dirtree", () => {
|
|
|
142
196
|
name: z.literal("subdirectory/"),
|
|
143
197
|
type: z.literal("directory"),
|
|
144
198
|
contents: z.object({
|
|
145
|
-
"subdirectory-file.txt": z.object({
|
|
199
|
+
"subdirectory-file.txt": z.object({
|
|
200
|
+
name: z.literal("subdirectory-file.txt"),
|
|
201
|
+
type: z.literal("file"),
|
|
202
|
+
}),
|
|
146
203
|
}),
|
|
147
204
|
}),
|
|
148
205
|
"symlink-target.txt": z.object({
|
|
@@ -154,11 +211,14 @@ describe("dirtree", () => {
|
|
|
154
211
|
name: z.literal("symlink-test/"),
|
|
155
212
|
type: z.literal("directory"),
|
|
156
213
|
contents: z.object({
|
|
157
|
-
"symlink-target.txt": z.object({
|
|
214
|
+
"symlink-target.txt": z.object({
|
|
215
|
+
name: z.literal("symlink-target.txt"),
|
|
216
|
+
type: z.literal("file"),
|
|
217
|
+
}),
|
|
158
218
|
}),
|
|
159
219
|
}),
|
|
160
220
|
}),
|
|
161
|
-
})
|
|
221
|
+
});
|
|
162
222
|
|
|
163
223
|
export const MyDirectoryTreeContentsSchema = MyDirectoryTreeSchema.shape.contents
|
|
164
224
|
export type MyDirectoryTreeContentsSchemaType = z.infer<typeof MyDirectoryTreeSchema>
|
|
@@ -225,13 +285,13 @@ describe("dirtree", () => {
|
|
|
225
285
|
// be written with confidence that the files and directories they expect are
|
|
226
286
|
// actually found. Otherwise the tests are brittle and can break easily.
|
|
227
287
|
|
|
228
|
-
import * as z from "zod"
|
|
288
|
+
import * as z from "zod";
|
|
229
289
|
|
|
230
290
|
export const MyDirectoryTreeSchema = z.object({
|
|
231
291
|
type: z.literal("directory"),
|
|
232
292
|
name: z.literal("root"),
|
|
233
293
|
contents: z.object({}),
|
|
234
|
-
})
|
|
294
|
+
});
|
|
235
295
|
|
|
236
296
|
export const MyDirectoryTreeContentsSchema = MyDirectoryTreeSchema.shape.contents
|
|
237
297
|
export type MyDirectoryTreeContentsSchemaType = z.infer<typeof MyDirectoryTreeSchema>
|
|
@@ -266,15 +326,18 @@ describe("dirtree", () => {
|
|
|
266
326
|
// be written with confidence that the files and directories they expect are
|
|
267
327
|
// actually found. Otherwise the tests are brittle and can break easily.
|
|
268
328
|
|
|
269
|
-
import * as z from "zod"
|
|
329
|
+
import * as z from "zod";
|
|
270
330
|
|
|
271
331
|
export const MyDirectoryTreeSchema = z.object({
|
|
272
332
|
name: z.literal("other-subdirectory/"),
|
|
273
333
|
type: z.literal("directory"),
|
|
274
334
|
contents: z.object({
|
|
275
|
-
"other-sub-file.txt": z.object({
|
|
335
|
+
"other-sub-file.txt": z.object({
|
|
336
|
+
name: z.literal("other-sub-file.txt"),
|
|
337
|
+
type: z.literal("file"),
|
|
338
|
+
}),
|
|
276
339
|
}),
|
|
277
|
-
})
|
|
340
|
+
});
|
|
278
341
|
|
|
279
342
|
export const MyDirectoryTreeContentsSchema = MyDirectoryTreeSchema.shape.contents
|
|
280
343
|
export type MyDirectoryTreeContentsSchemaType = z.infer<typeof MyDirectoryTreeSchema>
|
|
@@ -313,15 +376,18 @@ describe("dirtree", () => {
|
|
|
313
376
|
// be written with confidence that the files and directories they expect are
|
|
314
377
|
// actually found. Otherwise the tests are brittle and can break easily.
|
|
315
378
|
|
|
316
|
-
import * as z from "zod"
|
|
379
|
+
import * as z from "zod";
|
|
317
380
|
|
|
318
381
|
export const MyDirectoryTreeSchema = z.object({
|
|
319
382
|
name: z.literal("other-subdirectory/"),
|
|
320
383
|
type: z.literal("directory"),
|
|
321
384
|
contents: z.object({
|
|
322
|
-
"other-sub-file.txt": z.object({
|
|
385
|
+
"other-sub-file.txt": z.object({
|
|
386
|
+
name: z.literal("other-sub-file.txt"),
|
|
387
|
+
type: z.literal("file"),
|
|
388
|
+
}),
|
|
323
389
|
}),
|
|
324
|
-
})
|
|
390
|
+
});
|
|
325
391
|
|
|
326
392
|
export const MyDirectoryTreeContentsSchema = MyDirectoryTreeSchema.shape.contents
|
|
327
393
|
export type MyDirectoryTreeContentsSchemaType = z.infer<typeof MyDirectoryTreeSchema>
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { FormatterConfig } from "../updateTestdirectorySchemaFile.js";
|
|
2
|
+
export declare function jsonToZod(config: FormatterConfig, object: unknown, name?: string): Promise<string>;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { fileURLToPath } from "url";
|
|
4
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
5
|
-
export async function jsonToZod(object, name = "schema") {
|
|
1
|
+
import { formatCode } from "../utilities/format.js";
|
|
2
|
+
export async function jsonToZod(config, object, name = "schema") {
|
|
6
3
|
const parse = (o, seen) => {
|
|
7
4
|
switch (typeof o) {
|
|
8
5
|
case "string":
|
|
@@ -50,11 +47,6 @@ export async function jsonToZod(object, name = "schema") {
|
|
|
50
47
|
return "z.unknown()";
|
|
51
48
|
}
|
|
52
49
|
};
|
|
53
|
-
|
|
54
|
-
return format(`import * as z from "zod"\n\nexport const ${name}=${parse(object, [])}`, {
|
|
55
|
-
...prettierConfig,
|
|
56
|
-
parser: "babel",
|
|
57
|
-
plugins: [babelParser],
|
|
58
|
-
});
|
|
50
|
+
return formatCode(config, `import * as z from "zod"\n\nexport const ${name}=${parse(object, [])}`);
|
|
59
51
|
}
|
|
60
52
|
//# sourceMappingURL=json-to-zod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-to-zod.js","sourceRoot":"","sources":["../../../../src/server/dirtree/json-to-zod.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-to-zod.js","sourceRoot":"","sources":["../../../../src/server/dirtree/json-to-zod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAuB,EAAE,MAAe,EAAE,OAAe,QAAQ;IAC/F,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,IAAc,EAAU,EAAE;QACnD,QAAQ,OAAO,CAAC,EAAE,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,cAAc,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAA;YACnD,KAAK,QAAQ;gBACX,OAAO,YAAY,CAAA;YACrB,KAAK,QAAQ;gBACX,OAAO,kBAAkB,CAAA;YAC3B,KAAK,SAAS;gBACZ,OAAO,aAAa,CAAA;YACtB,KAAK,QAAQ;gBACX,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACf,OAAO,UAAU,CAAA;gBACnB,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;gBACvD,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACZ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,CAAC;yBACd,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;yBAC5B,MAAM,CAAC,CAAC,GAAa,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;oBAC3F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzB,OAAO,WAAW,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;oBACjC,CAAC;yBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,4EAA4E;wBAC5E,OAAO,oBAAoB,OAAO,KAAK,CAAA;oBACzC,CAAC;yBAAM,CAAC;wBACN,OAAO,sBAAsB,CAAA;oBAC/B,CAAC;gBACH,CAAC;gBACD,4EAA4E;gBAC5E,OAAO,aAAa,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACnD,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBACpC,OAAO,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAA;gBACrC,CAAC,CAAC,IAAI,CAAA;YACR,KAAK,WAAW;gBACd,OAAO,eAAe,CAAA;YACxB,KAAK,UAAU;gBACb,OAAO,cAAc,CAAA;YACvB,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,aAAa,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;IACD,OAAO,UAAU,CAAC,MAAM,EAAE,4CAA4C,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;AACpG,CAAC"}
|
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
|
+
export type TestServerConfigInput = z.input<typeof testServerConfigSchema>;
|
|
2
3
|
export type TestServerConfig = z.output<typeof testServerConfigSchema>;
|
|
3
4
|
export type TestServerConfigMetadata = {
|
|
4
5
|
configFilePath: string;
|
|
5
6
|
config: TestServerConfig;
|
|
6
7
|
};
|
|
7
8
|
export type NeovimIntegrationDefaultAppName = "nvim";
|
|
9
|
+
export type FormatterConfig = z.output<typeof formatterConfigSchema>;
|
|
10
|
+
declare const formatterConfigSchema: z.ZodDefault<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
11
|
+
use: z.ZodLiteral<"prettier">;
|
|
12
|
+
}, z.core.$strict>], "use">>>;
|
|
8
13
|
export declare const testServerConfigSchema: z.ZodObject<{
|
|
9
14
|
directories: z.ZodObject<{
|
|
10
15
|
testEnvironmentPath: z.ZodString;
|
|
11
16
|
outputFilePath: z.ZodString;
|
|
12
17
|
latestSymlinkName: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
13
18
|
}, z.core.$strip>;
|
|
14
|
-
port: z.ZodNumber
|
|
19
|
+
port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
15
20
|
integrations: z.ZodObject<{
|
|
16
21
|
neovim: z.ZodObject<{
|
|
17
22
|
NVIM_APPNAMEs: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
18
23
|
}, z.core.$strict>;
|
|
19
24
|
}, z.core.$strict>;
|
|
25
|
+
formatter: z.ZodDefault<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
26
|
+
use: z.ZodLiteral<"prettier">;
|
|
27
|
+
}, z.core.$strict>], "use">>>;
|
|
20
28
|
}, z.core.$strict>;
|
|
21
29
|
export type UpdateTestdirectorySchemaFileResult = "updated" | "did-nothing";
|
|
22
30
|
export declare function updateTestdirectorySchemaFile(config: TestServerConfig): Promise<UpdateTestdirectorySchemaFileResult>;
|
|
31
|
+
export {};
|
|
@@ -9,16 +9,21 @@ const neovimIntegration = z.strictObject({
|
|
|
9
9
|
.min(1)
|
|
10
10
|
.default(["nvim"]),
|
|
11
11
|
});
|
|
12
|
+
const formatterConfigSchema = z
|
|
13
|
+
.discriminatedUnion("use", [z.strictObject({ use: z.literal("prettier") })])
|
|
14
|
+
.optional()
|
|
15
|
+
.default({ use: "prettier" });
|
|
12
16
|
export const testServerConfigSchema = z.strictObject({
|
|
13
17
|
directories: z.object({
|
|
14
18
|
testEnvironmentPath: z.string(),
|
|
15
19
|
outputFilePath: z.string(),
|
|
16
20
|
latestSymlinkName: z.string().optional().default("latest"),
|
|
17
21
|
}),
|
|
18
|
-
port: z.number().int().min(1).max(65535),
|
|
22
|
+
port: z.number().int().min(1).max(65535).optional().default(3000),
|
|
19
23
|
integrations: z.strictObject({
|
|
20
24
|
neovim: neovimIntegration,
|
|
21
25
|
}),
|
|
26
|
+
formatter: formatterConfigSchema,
|
|
22
27
|
});
|
|
23
28
|
export async function updateTestdirectorySchemaFile(config) {
|
|
24
29
|
const newSchema = await buildTestDirectorySchema(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateTestdirectorySchemaFile.js","sourceRoot":"","sources":["../../../src/server/updateTestdirectorySchemaFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"updateTestdirectorySchemaFile.js","sourceRoot":"","sources":["../../../src/server/updateTestdirectorySchemaFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAE/B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,6BAA6B,CAAC,IAAI,EAAE,CAAC,CAAA;AAWzE,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IACvC,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,MAAgD,CAAC,CAAC;CAC/D,CAAC,CAAA;AAGF,MAAM,qBAAqB,GAAG,CAAC;KAC5B,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3E,QAAQ,EAAE;KACV,OAAO,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;AAE/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC3D,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjE,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC;QAC3B,MAAM,EAAE,iBAAiB;KAC1B,CAAC;IACF,SAAS,EAAE,qBAAqB;CACjC,CAAC,CAAA;AAIF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAAwB;IAExB,MAAM,SAAS,GAAW,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAChE,IAAI,SAAS,GAAG,EAAE,CAAA;IAElB,IAAI,CAAC;QACH,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,mDAAmD,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,oEAAoE;QACpE,0EAA0E;QAC1E,+CAA+C;QAC/C,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAC3D,OAAO,SAAS,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,aAAa,CAAA;IACtB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateTestdirectorySchemaFile.test.js","sourceRoot":"","sources":["../../../src/server/updateTestdirectorySchemaFile.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"updateTestdirectorySchemaFile.test.js","sourceRoot":"","sources":["../../../src/server/updateTestdirectorySchemaFile.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAElF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;AACpB,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AAEpD,MAAM,IAAI,GAAG;IACX,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;IACrC,aAAa,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;IACvC,wBAAwB,EAAE,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;CAC9D,CAAA;AAED,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACzD,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAA;QAEpD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;YACjD,WAAW,EAAE;gBACX,mBAAmB,EAAE,MAAM;gBAC3B,cAAc,EAAE,MAAM;aACvB;SAC0D,CAAC,CAAA;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAA2D,CAAC,CAAA;IAClF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAC7D,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAA;QAExD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;YACjD,WAAW,EAAE;gBACX,mBAAmB,EAAE,MAAM;gBAC3B,cAAc,EAAE,MAAM;aACvB;SAC0D,CAAC,CAAA;QAE9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAuD,CAAC,CAAA;QAC5E,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisposableSingleApplication.js","sourceRoot":"","sources":["../../../../src/server/utilities/DisposableSingleApplication.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"DisposableSingleApplication.js","sourceRoot":"","sources":["../../../../src/server/utilities/DisposableSingleApplication.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAM/B,MAAM,GAAG,GAAG,QAAQ,CAAC,yCAAyC,CAAC,CAAA;AAE/D;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IAC5B,WAAW,CAAkC;IAEhD,KAAK,CAAC,uBAAuB,CAAC,SAA8C;QACjF,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,SAAS,EAAE,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,CACJ,IAAI,CAAC,WAAW,EAChB,sGAAsG,CACvG,CAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAA;IACnC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,KAAa;QAC9B,MAAM,CACJ,IAAI,CAAC,WAAW,EAChB,8FAA8F,CAC/F,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,CAAA;IACpC,CAAC;IAED,iDAAiD;IAC1C,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;YACnC,OAAM;QACR,CAAC;QACD,GAAG,CAAC,+BAA+B,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACzD,MAAM,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,CAAA;IACvC,CAAC;CACF"}
|