1- import { promises } from "fs" ;
1+ import { readFileSync , promises } from "fs" ;
22import { join } from "path" ;
33import { parseStringPromise } from "xml2js" ;
44import { PackageXml } from "./PackageXml" ;
55import { WidgetXml } from "./WidgetXml" ;
66import { generateForWidget } from "./generate" ;
7+ import { format } from "prettier" ;
78
89const { mkdir, readFile, stat, writeFile } = promises ;
910
11+ const prettierConfig = {
12+ parser : "babel-ts" ,
13+ ...JSON . parse ( readFileSync ( join ( __dirname , "../../configs/prettier.base.json" ) , "utf-8" ) )
14+ } ;
15+
1016export async function transformPackage ( content : string , basePath : string ) {
1117 const contentXml = ( await parseStringPromise ( content ) ) as PackageXml ;
1218 if ( ! contentXml ) {
@@ -29,7 +35,7 @@ export async function transformPackage(content: string, basePath: string) {
2935 const sourcePath = widgetFileXml . $ . path ;
3036 const source = await readFile ( join ( basePath , sourcePath ) , "utf-8" ) ;
3137
32- let generatedContent ;
38+ let generatedContent : string ;
3339 try {
3440 const sourceXml = ( await parseStringPromise ( source ) ) as WidgetXml ;
3541 generatedContent = generateForWidget ( sourceXml , toWidgetName ( sourcePath ) ) ;
@@ -39,8 +45,9 @@ export async function transformPackage(content: string, basePath: string) {
3945 ) ;
4046 }
4147
48+ const formattedContent = await format ( generatedContent , prettierConfig ) ;
4249 const resultPath = sourcePath . replace ( / ( \. x m l ) ? $ / , "Props.d.ts" ) ;
43- await writeFile ( join ( resultBasePath , resultPath ) , generatedContent ) ;
50+ await writeFile ( join ( resultBasePath , resultPath ) , formattedContent ) ;
4451 }
4552}
4653
0 commit comments