Skip to content

Commit f4005d2

Browse files
committed
Use widget prettier config and base config as fallback
1 parent 89f169b commit f4005d2

2 files changed

Lines changed: 26 additions & 8 deletions

File tree

packages/pluggable-widgets-tools/src/typings-generator/index.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
1-
import { readFileSync, promises } from "fs";
1+
import { promises } from "fs";
22
import { join } from "path";
33
import { parseStringPromise } from "xml2js";
44
import { PackageXml } from "./PackageXml";
55
import { WidgetXml } from "./WidgetXml";
66
import { generateForWidget } from "./generate";
7-
import { format } from "prettier";
7+
import { formatTypescript } from "../utils/formatting";
88

99
const { mkdir, readFile, stat, writeFile } = promises;
1010

11-
const prettierConfig = {
12-
parser: "babel-ts",
13-
...JSON.parse(readFileSync(join(__dirname, "../../configs/prettier.base.json"), "utf-8"))
14-
};
15-
1611
export async function transformPackage(content: string, basePath: string) {
1712
const contentXml = (await parseStringPromise(content)) as PackageXml;
1813
if (!contentXml) {
@@ -45,7 +40,7 @@ export async function transformPackage(content: string, basePath: string) {
4540
);
4641
}
4742

48-
const formattedContent = await format(generatedContent, prettierConfig);
43+
const formattedContent = await formatTypescript(generatedContent);
4944
const resultPath = sourcePath.replace(/(\.xml)?$/, "Props.d.ts");
5045
await writeFile(join(resultBasePath, resultPath), formattedContent);
5146
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { readFileSync, existsSync } from "fs";
2+
import { join } from "path";
3+
import { cwd } from "process";
4+
import { format as prettierFormat, Options } from "prettier";
5+
6+
const prettierConfigWidgetPath = join(cwd(), "prettier.config.js");
7+
const prettierConfigBasePath = join(__dirname, "../../configs/prettier.base.json");
8+
9+
let prettierConfigBase: object;
10+
if (existsSync(prettierConfigWidgetPath)) {
11+
prettierConfigBase = require(prettierConfigWidgetPath);
12+
} else {
13+
prettierConfigBase = JSON.parse(readFileSync(prettierConfigBasePath, "utf-8"));
14+
}
15+
16+
const prettierConfig: Options = {
17+
...prettierConfigBase,
18+
parser: "babel-ts"
19+
};
20+
21+
export function formatTypescript(source: string): Promise<string> {
22+
return prettierFormat(source, prettierConfig);
23+
}

0 commit comments

Comments
 (0)