@@ -18,10 +18,12 @@ import loadKeys from './loadKeys.js';
18
18
import { unlinkSync } from "node:fs" ;
19
19
20
20
export default ( logger : Logger , cwd : string , shouldSplit = false , isVerbatimModuleSyntax = false ) => {
21
- for ( const file in readdirSync ( `${ cwd } /${ TARGET_DIR } ` , ) ) {
22
- unlinkSync ( `${ cwd } /${ TARGET_DIR } /${ file } ` , ) ;
21
+ if ( existsSync ( `${ cwd } /${ TARGET_DIR } ` , ) ) {
22
+ for ( const file in readdirSync ( `${ cwd } /${ TARGET_DIR } ` , 'utf8' , ) ) {
23
+ unlinkSync ( `${ cwd } /${ TARGET_DIR } /${ file } ` , ) ;
24
+ }
23
25
}
24
- const yamlFiles = readdirSync ( `${ cwd } /${ ORIGIN_DIRECTORY } ` , )
26
+ const yamlFiles = readdirSync ( `${ cwd } /${ ORIGIN_DIRECTORY } ` , 'utf8' , )
25
27
. filter ( ( file , ) => file . endsWith ( '.yml' , ) , ) ;
26
28
27
29
const files = [ ] ;
@@ -42,13 +44,15 @@ export default (logger: Logger, cwd: string, shouldSplit = false, isVerbatimModu
42
44
writeFileSync (
43
45
`${ TARGET_DIR } /${ lang } -${ key } .ts` ,
44
46
`/* eslint max-len:0 */\nconst lang = ${ toTypescriptObject ( data [ key ] ) } ;\n\nexport default lang;\n` ,
47
+ 'utf8' ,
45
48
) ;
46
49
files . push ( `${ lang } -${ key } ` , ) ;
47
50
}
48
51
} else {
49
52
writeFileSync (
50
53
`${ TARGET_DIR } /${ lang } .ts` ,
51
54
`/* eslint max-len:0 */\nconst lang = ${ toTypescriptObject ( data ) } ;\n\nexport default lang;\n` ,
55
+ 'utf8' ,
52
56
) ;
53
57
files . push ( `${ lang } ` , ) ;
54
58
}
@@ -59,6 +63,7 @@ export default (logger: Logger, cwd: string, shouldSplit = false, isVerbatimModu
59
63
isVerbatimModuleSyntax
60
64
? `/* eslint max-len:0 */\ntype lk = '${ keys . join ( '\'|\'' , ) } ';\nexport type languageKey = lk;\n`
61
65
: `/* eslint max-len:0 */\ntype languageKey = '${ keys . join ( '\'|\'' , ) } ';\nexport default languageKey;\n` ,
66
+ 'utf8' ,
62
67
) ;
63
68
}
64
69
} , ) ;
@@ -69,10 +74,12 @@ export default (logger: Logger, cwd: string, shouldSplit = false, isVerbatimModu
69
74
writeFileSync (
70
75
TARGET_DIR + '/languages.ts' ,
71
76
`/* eslint max-len:0 */\nconst languages = ${ languages } ;\nexport default languages;\n` ,
77
+ 'utf8' ,
72
78
) ;
73
79
writeFileSync (
74
80
TARGET_DIR + '/files.ts' ,
75
81
`const files = ${ toTypescriptObject ( files ) } ;\nexport default files;\n` ,
82
+ 'utf8' ,
76
83
) ;
77
84
let fileImporter = '' ;
78
85
let fileExporter = 'const translations = {' ;
@@ -84,5 +91,6 @@ export default (logger: Logger, cwd: string, shouldSplit = false, isVerbatimModu
84
91
writeFileSync (
85
92
TARGET_DIR + '/translations.ts' ,
86
93
`${ fileImporter } ${ fileExporter } \nexport default translations;\n` ,
94
+ 'utf8' ,
87
95
) ;
88
96
} ;
0 commit comments