@@ -12,11 +12,13 @@ const plist = require("plist");
12
12
const json = require ( "format-json" ) ;
13
13
const yaml = require ( "yamljs" ) ;
14
14
const deepmerge = require ( "deepmerge" ) ;
15
+ const { safeWriteFileSync } = require ( "./util" ) ;
15
16
16
- const sourcePath = path . resolve ( __dirname , "../" , "src/" ) ;
17
+ const SOURCE_PATH = path . resolve ( __dirname , "../" , "src/" ) ;
18
+ const OUTPUT_PATH = path . resolve ( __dirname , "../dist/" ) ;
17
19
18
- const data = fs . readdirSync ( sourcePath ) . reduce ( ( acc , file ) => {
19
- const filePath = path . resolve ( sourcePath , file ) ;
20
+ const data = fs . readdirSync ( SOURCE_PATH ) . reduce ( ( acc , file ) => {
21
+ const filePath = path . resolve ( SOURCE_PATH , file ) ;
20
22
try {
21
23
const source = fs . readFileSync ( filePath , "utf8" ) ;
22
24
// skip empty files
@@ -33,23 +35,18 @@ const data = fs.readdirSync(sourcePath).reduce((acc, file) => {
33
35
}
34
36
} , { } ) ;
35
37
36
- const destDir = path . resolve ( __dirname , "../dist/" ) ;
37
- if ( ! fs . existsSync ( destDir ) ) {
38
- fs . mkdirSync ( destDir ) ;
39
- }
40
-
41
38
console . log ( "Generating Json file..." ) ;
42
- fs . writeFileSync (
43
- path . resolve ( destDir , "Kotlin.JSON-tmLanguage" ) ,
39
+ safeWriteFileSync (
40
+ path . resolve ( OUTPUT_PATH , "Kotlin.JSON-tmLanguage" ) ,
44
41
json . plain ( data ) ,
45
42
) ;
46
43
47
44
console . log ( "Generating Yaml file..." ) ;
48
- fs . writeFileSync (
49
- path . resolve ( destDir , "Kotlin.YAML-tmLanguage" ) ,
45
+ safeWriteFileSync (
46
+ path . resolve ( OUTPUT_PATH , "Kotlin.YAML-tmLanguage" ) ,
50
47
yaml . stringify ( data , 6 ) ,
51
48
) ;
52
49
53
50
console . log ( "Generating Xml file..." ) ;
54
51
const xmlData = plist . build ( data ) ;
55
- fs . writeFileSync ( path . resolve ( destDir , "Kotlin.tmLanguage" ) , xmlData ) ;
52
+ safeWriteFileSync ( path . resolve ( OUTPUT_PATH , "Kotlin.tmLanguage" ) , xmlData ) ;
0 commit comments