@tui-sandbox/library 12.6.2 → 12.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/server/dirtree/index.js +3 -2
- package/dist/src/server/dirtree/index.js.map +1 -1
- package/dist/src/server/updateTestdirectorySchemaFile.d.ts +4 -0
- package/dist/src/server/updateTestdirectorySchemaFile.js +4 -1
- package/dist/src/server/updateTestdirectorySchemaFile.js.map +1 -1
- package/dist/src/server/utilities/format.d.ts +2 -1
- package/dist/src/server/utilities/format.js +50 -6
- package/dist/src/server/utilities/format.js.map +1 -1
- package/dist/src/server/utilities/format.test.js +16 -0
- package/dist/src/server/utilities/format.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
|
@@ -2,7 +2,7 @@ import assert from "assert";
|
|
|
2
2
|
import { readlinkSync } from "fs";
|
|
3
3
|
import { debuglog } from "util";
|
|
4
4
|
import { scan, Type } from "dree";
|
|
5
|
-
import { formatCode } from "../utilities/format.js";
|
|
5
|
+
import { formatCode, isTypeScriptPath } from "../utilities/format.js";
|
|
6
6
|
import { jsonToZod } from "./json-to-zod.js";
|
|
7
7
|
const log = debuglog("tui-sandbox.dirtree");
|
|
8
8
|
/** Convert a directory tree to a TypeScript type. This is useful for testing
|
|
@@ -91,12 +91,13 @@ export async function buildTestDirectorySchema(config) {
|
|
|
91
91
|
const dree = getDirectoryTree(config.directories.testEnvironmentPath);
|
|
92
92
|
const unformatted = await buildSchemaForDirectoryTree(dree, "MyTestDirectory", config);
|
|
93
93
|
const { outputFilePath } = config.directories;
|
|
94
|
+
assert(isTypeScriptPath(outputFilePath), `outputFilePath must be a .ts file, got: ${outputFilePath}`);
|
|
94
95
|
const cacheKey = JSON.stringify([config.formatter.use, outputFilePath, unformatted]);
|
|
95
96
|
if (lastFormattedSchema?.key === cacheKey) {
|
|
96
97
|
log("Reusing cached formatted schema");
|
|
97
98
|
return lastFormattedSchema.value;
|
|
98
99
|
}
|
|
99
|
-
const formatted = await formatCode(config.formatter, unformatted);
|
|
100
|
+
const formatted = await formatCode(config.formatter, unformatted, outputFilePath);
|
|
100
101
|
lastFormattedSchema = { key: cacheKey, value: formatted };
|
|
101
102
|
return formatted;
|
|
102
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAG/B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/dirtree/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export type NeovimIntegrationDefaultAppName = "nvim";
|
|
|
9
9
|
export type FormatterConfig = z.output<typeof formatterConfigSchema>;
|
|
10
10
|
declare const formatterConfigSchema: z.ZodDefault<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
11
11
|
use: z.ZodLiteral<"prettier">;
|
|
12
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
13
|
+
use: z.ZodLiteral<"oxfmt">;
|
|
12
14
|
}, z.core.$strict>], "use">>>;
|
|
13
15
|
export declare const testServerConfigSchema: z.ZodObject<{
|
|
14
16
|
directories: z.ZodObject<{
|
|
@@ -24,6 +26,8 @@ export declare const testServerConfigSchema: z.ZodObject<{
|
|
|
24
26
|
}, z.core.$strict>;
|
|
25
27
|
formatter: z.ZodDefault<z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
26
28
|
use: z.ZodLiteral<"prettier">;
|
|
29
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
30
|
+
use: z.ZodLiteral<"oxfmt">;
|
|
27
31
|
}, z.core.$strict>], "use">>>;
|
|
28
32
|
}, z.core.$strict>;
|
|
29
33
|
export type UpdateTestdirectorySchemaFileResult = "updated" | "did-nothing";
|
|
@@ -10,7 +10,10 @@ const neovimIntegration = z.strictObject({
|
|
|
10
10
|
.default(["nvim"]),
|
|
11
11
|
});
|
|
12
12
|
const formatterConfigSchema = z
|
|
13
|
-
.discriminatedUnion("use", [
|
|
13
|
+
.discriminatedUnion("use", [
|
|
14
|
+
z.strictObject({ use: z.literal("prettier") }),
|
|
15
|
+
z.strictObject({ use: z.literal("oxfmt") }),
|
|
16
|
+
])
|
|
14
17
|
.optional()
|
|
15
18
|
.default({ use: "prettier" });
|
|
16
19
|
export const testServerConfigSchema = z.strictObject({
|
|
@@ -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;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,
|
|
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;IACzB,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;IAC9C,CAAC,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5C,CAAC;KACD,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,2 +1,3 @@
|
|
|
1
1
|
import type { FormatterConfig } from "../updateTestdirectorySchemaFile.js";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const isTypeScriptPath: (filePath: string) => filePath is `${string}.ts`;
|
|
3
|
+
export declare const formatCode: (config: FormatterConfig, code: string, fileName?: `${string}.ts`) => Promise<string>;
|
|
@@ -1,12 +1,56 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import path from "node:path";
|
|
1
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
+
import * as z from "zod";
|
|
2
7
|
const __filename = fileURLToPath(import.meta.url);
|
|
3
|
-
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
export const isTypeScriptPath = (filePath) => filePath.endsWith(".ts");
|
|
10
|
+
export const formatCode = async (config, code,
|
|
11
|
+
// oxfmt selects its parser from the file name's extension, and (via the CLI)
|
|
12
|
+
// resolves its config by walking up from the file's directory.
|
|
13
|
+
fileName = "generated.ts") => {
|
|
14
|
+
if (config.use === "prettier") {
|
|
15
|
+
const { format, resolveConfig } = await import("prettier");
|
|
16
|
+
const prettierConfig = await resolveConfig(__filename);
|
|
17
|
+
return format(code, {
|
|
18
|
+
...prettierConfig,
|
|
19
|
+
parser: "typescript",
|
|
20
|
+
});
|
|
21
|
+
}
|
|
4
22
|
config.use;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
23
|
+
return formatWithOxfmt(code, fileName);
|
|
24
|
+
};
|
|
25
|
+
const oxfmtPackageJsonSchema = z.object({ bin: z.object({ oxfmt: z.string() }) });
|
|
26
|
+
const resolveOxfmtCliPath = () => {
|
|
27
|
+
const packageJsonPath = require.resolve("oxfmt/package.json");
|
|
28
|
+
const contents = JSON.parse(readFileSync(packageJsonPath, "utf8"));
|
|
29
|
+
const packageJson = oxfmtPackageJsonSchema.parse(contents);
|
|
30
|
+
return path.join(path.dirname(packageJsonPath), packageJson.bin.oxfmt);
|
|
31
|
+
};
|
|
32
|
+
const formatWithOxfmt = (code, fileName) => {
|
|
33
|
+
const oxfmtCliPath = resolveOxfmtCliPath();
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
// oxfmt discovers config by walking up from the --stdin-filepath directory,
|
|
36
|
+
// reads the source from stdin, and writes the formatted result to stdout.
|
|
37
|
+
const child = spawn(process.execPath, [oxfmtCliPath, `--stdin-filepath=${fileName}`]);
|
|
38
|
+
let stdout = "";
|
|
39
|
+
let stderr = "";
|
|
40
|
+
child.stdout.on("data", chunk => (stdout += String(chunk)));
|
|
41
|
+
child.stderr.on("data", chunk => (stderr += String(chunk)));
|
|
42
|
+
child.on("error", reject);
|
|
43
|
+
child.on("close", exitCode => {
|
|
44
|
+
if (exitCode === 0) {
|
|
45
|
+
resolve(stdout);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
reject(new Error(`Error formatting code with oxfmt (exit code ${String(exitCode)}): ${stderr.trim()}`));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
// guard against EPIPE if oxfmt exits before consuming all of stdin
|
|
52
|
+
child.stdin.on("error", reject);
|
|
53
|
+
child.stdin.end(code);
|
|
10
54
|
});
|
|
11
55
|
};
|
|
12
56
|
//# sourceMappingURL=format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/server/utilities/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/server/utilities/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,4 +13,20 @@ describe("prettier", () => {
|
|
|
13
13
|
`);
|
|
14
14
|
});
|
|
15
15
|
});
|
|
16
|
+
describe("oxfmt", () => {
|
|
17
|
+
it("formats TypeScript, including type syntax", async () => {
|
|
18
|
+
// the oxfmt cli should walk up the directory tree and discover the
|
|
19
|
+
// tui-sandbox oxfmt config file, inheriting its code style. This should be
|
|
20
|
+
// visible in the formatting result.
|
|
21
|
+
const result = await formatCode({ use: "oxfmt" }, unformattedTypeScript);
|
|
22
|
+
expect(result).toMatchInlineSnapshot(`
|
|
23
|
+
"export type Foo = z.infer<typeof Bar>
|
|
24
|
+
const x = { a: 1, b: 2 }
|
|
25
|
+
"
|
|
26
|
+
`);
|
|
27
|
+
});
|
|
28
|
+
it("throws when the code cannot be parsed", async () => {
|
|
29
|
+
await expect(formatCode({ use: "oxfmt" }, "const x = {{{ invalid")).rejects.toThrow(/Error formatting code with oxfmt/);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
16
32
|
//# sourceMappingURL=format.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.test.js","sourceRoot":"","sources":["../../../../src/server/utilities/format.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,2EAA2E;AAC3E,gEAAgE;AAChE,MAAM,qBAAqB,GAAG,uDAAuD,CAAA;AAErF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,qBAAqB,CAAC,CAAA;QAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;KAIpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"format.test.js","sourceRoot":"","sources":["../../../../src/server/utilities/format.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,2EAA2E;AAC3E,gEAAgE;AAChE,MAAM,qBAAqB,GAAG,uDAAuD,CAAA;AAErF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,qBAAqB,CAAC,CAAA;QAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;KAIpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,mEAAmE;QACnE,2EAA2E;QAC3E,oCAAoC;QACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAA;QACxE,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC;;;;KAIpC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACjF,kCAAkC,CACnC,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|