Skip to content

Commit 9392fb7

Browse files
committed
Format generated schema files with Prettier
1 parent c55e87c commit 9392fb7

File tree

2 files changed

+28
-21
lines changed

2 files changed

+28
-21
lines changed

extensions/ql-vscode/scripts/generate-schemas.ts

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { createGenerator } from "ts-json-schema-generator";
22
import { join, resolve } from "path";
3-
import { outputJSON } from "fs-extra";
3+
import { outputFile } from "fs-extra";
4+
import { format, resolveConfig } from "prettier";
45

56
const extensionDirectory = resolve(__dirname, "..");
67

@@ -37,21 +38,32 @@ const schemas = [
3738
},
3839
];
3940

41+
async function generateSchema(
42+
schemaDefinition: (typeof schemas)[number],
43+
): Promise<void> {
44+
const schema = createGenerator({
45+
path: schemaDefinition.path,
46+
tsconfig: resolve(extensionDirectory, "tsconfig.json"),
47+
type: schemaDefinition.type,
48+
skipTypeCheck: true,
49+
topRef: true,
50+
additionalProperties: true,
51+
}).createSchema(schemaDefinition.type);
52+
53+
const schemaJson = JSON.stringify(schema, null, 2);
54+
55+
const prettierOptions = await resolveConfig(schemaDefinition.schemaPath);
56+
57+
const formattedSchemaJson = await format(schemaJson, {
58+
...prettierOptions,
59+
filepath: schemaDefinition.schemaPath,
60+
});
61+
62+
await outputFile(schemaDefinition.schemaPath, formattedSchemaJson);
63+
}
64+
4065
async function generateSchemas() {
41-
for (const schemaDefinition of schemas) {
42-
const schema = createGenerator({
43-
path: schemaDefinition.path,
44-
tsconfig: resolve(extensionDirectory, "tsconfig.json"),
45-
type: schemaDefinition.type,
46-
skipTypeCheck: true,
47-
topRef: true,
48-
additionalProperties: true,
49-
}).createSchema(schemaDefinition.type);
50-
51-
await outputJSON(schemaDefinition.schemaPath, schema, {
52-
spaces: 2,
53-
});
54-
}
66+
await Promise.all(schemas.map(generateSchema));
5567
}
5668

5769
generateSchemas().catch((e: unknown) => {

extensions/ql-vscode/src/model-editor/extension-pack-metadata.schema.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,7 @@
3131
}
3232
}
3333
},
34-
"required": [
35-
"name",
36-
"version",
37-
"dataExtensions",
38-
"extensionTargets"
39-
]
34+
"required": ["name", "version", "dataExtensions", "extensionTargets"]
4035
}
4136
}
4237
}

0 commit comments

Comments
 (0)