@@ -12,30 +12,30 @@ import {
12
12
import Logger from './logger.js' ;
13
13
import toTypescriptObject from './to-typescript-object.js' ;
14
14
import loadKeys from './loadKeys.js' ;
15
- import Config from " ./config.js" ;
15
+ import Config from ' ./config.js' ;
16
16
17
17
export default (
18
18
logger : Logger ,
19
19
config : Config ,
20
20
) => {
21
21
for ( const folder of config . folders ) {
22
- const localConfig = new Config ( `${ folder } ` ) ;
22
+ const localConfig = new Config ( `${ folder } ` , ) ;
23
23
if ( existsSync ( `${ folder } /${ localConfig . targetDirectory } ` , ) ) {
24
- for ( const file of readdirSync ( `${ folder } /${ localConfig . targetDirectory } ` , 'utf8' , ) ) {
25
- unlinkSync ( `${ folder } /${ localConfig . targetDirectory } /${ file } ` , ) ;
24
+ for ( const file of readdirSync ( `${ folder } /${ localConfig . targetDirectory } ` , 'utf8' , ) ) {
25
+ unlinkSync ( `${ folder } /${ localConfig . targetDirectory } /${ file } ` , ) ;
26
26
}
27
27
}
28
- const yamlFiles = readdirSync ( `${ folder } /${ localConfig . originDirectory } ` , 'utf8' , )
28
+ const yamlFiles = readdirSync ( `${ folder } /${ localConfig . originDirectory } ` , 'utf8' , )
29
29
. filter ( ( file , ) => file . endsWith ( '.yml' , ) , ) ;
30
30
31
31
const files = [ ] ;
32
32
// eslint-disable-next-line complexity
33
33
yamlFiles . forEach ( ( yamlFile , ) => {
34
34
const lang = yamlFile . replace ( '.yml' , '' , ) ;
35
- const yamlPath = `${ folder } /${ localConfig . originDirectory } /${ yamlFile } ` ;
35
+ const yamlPath = `${ folder } /${ localConfig . originDirectory } /${ yamlFile } ` ;
36
36
37
- if ( ! existsSync ( `${ folder } /${ localConfig . targetDirectory } ` , ) ) {
38
- mkdirSync ( `${ folder } /${ localConfig . targetDirectory } ` , {
37
+ if ( ! existsSync ( `${ folder } /${ localConfig . targetDirectory } ` , ) ) {
38
+ mkdirSync ( `${ folder } /${ localConfig . targetDirectory } ` , {
39
39
recursive : true ,
40
40
} , ) ;
41
41
}
@@ -46,49 +46,49 @@ export default (
46
46
if ( localConfig . isSplit && typeof data [ Object . keys ( data , ) . pop ( ) ] !== 'string' ) {
47
47
for ( const key of Object . keys ( data , ) ) {
48
48
writeFileSync (
49
- `${ folder } /${ localConfig . targetDirectory } /${ lang } -${ key } .ts` ,
49
+ `${ folder } /${ localConfig . targetDirectory } /${ lang } -${ key } .ts` ,
50
50
localConfig . isVerbatimModuleSyntax
51
- ? `/* eslint max-len:0 */\nimport {\n lang as langType,\n} from './type-${ key } .js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data [ key ] , ) } ;\n\nexport default lang;\n`
52
- : `/* eslint max-len:0 */\nimport langType from './type-${ key } .js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data [ key ] , ) } ;\n\nexport default lang;\n` ,
51
+ ? `/* eslint max-len:0 */\nimport {\n lang as langType,\n} from './type-${ key } .js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data [ key ] , ) } ;\n\nexport default lang;\n`
52
+ : `/* eslint max-len:0 */\nimport langType from './type-${ key } .js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data [ key ] , ) } ;\n\nexport default lang;\n` ,
53
53
'utf8' ,
54
54
) ;
55
- files . push ( `${ lang } -${ key } ` , ) ;
55
+ files . push ( `${ lang } -${ key } ` , ) ;
56
56
if ( lang === 'en' ) {
57
57
writeFileSync (
58
- `${ folder } /${ localConfig . targetDirectory } /type-${ key } .ts` ,
58
+ `${ folder } /${ localConfig . targetDirectory } /type-${ key } .ts` ,
59
59
localConfig . isVerbatimModuleSyntax
60
- ? `/* eslint max-len:0 */\ntype ln = ${ toTypescriptObject ( data [ key ] , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport type lang = ln;\n`
61
- : `/* eslint max-len:0 */\ntype lang = ${ toTypescriptObject ( data [ key ] , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport default lang;\n` ,
60
+ ? `/* eslint max-len:0 */\ntype ln = ${ toTypescriptObject ( data [ key ] , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport type lang = ln;\n`
61
+ : `/* eslint max-len:0 */\ntype lang = ${ toTypescriptObject ( data [ key ] , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport default lang;\n` ,
62
62
'utf8' ,
63
63
) ;
64
64
}
65
65
}
66
66
} else {
67
67
writeFileSync (
68
- `${ folder } /${ localConfig . targetDirectory } /${ lang } .ts` ,
68
+ `${ folder } /${ localConfig . targetDirectory } /${ lang } .ts` ,
69
69
localConfig . isVerbatimModuleSyntax
70
- ? `/* eslint max-len:0 */\nimport {\n lang as langType,\n} from './type.js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data , ) } ;\n\nexport default lang;\n`
71
- : `/* eslint max-len:0 */\nimport langType from './type.js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data , ) } ;\n\nexport default lang;\n` ,
70
+ ? `/* eslint max-len:0 */\nimport {\n lang as langType,\n} from './type.js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data , ) } ;\n\nexport default lang;\n`
71
+ : `/* eslint max-len:0 */\nimport langType from './type.js';\nconst lang: ${ typeName } = ${ toTypescriptObject ( data , ) } ;\n\nexport default lang;\n` ,
72
72
'utf8' ,
73
73
) ;
74
- files . push ( `${ lang } ` , ) ;
74
+ files . push ( `${ lang } ` , ) ;
75
75
if ( lang === 'en' ) {
76
76
writeFileSync (
77
- `${ folder } /${ localConfig . targetDirectory } /type.ts` ,
77
+ `${ folder } /${ localConfig . targetDirectory } /type.ts` ,
78
78
localConfig . isVerbatimModuleSyntax
79
- ? `/* eslint max-len:0 */\ntype ln = ${ toTypescriptObject ( data , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport type lang = ln;\n`
80
- : `/* eslint max-len:0 */\ntype lang = ${ toTypescriptObject ( data , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport default lang;\n` ,
79
+ ? `/* eslint max-len:0 */\ntype ln = ${ toTypescriptObject ( data , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport type lang = ln;\n`
80
+ : `/* eslint max-len:0 */\ntype lang = ${ toTypescriptObject ( data , ) . replace ( / : ' .* ?' , / ug, ': string,' , ) } ;\n\nexport default lang;\n` ,
81
81
'utf8' ,
82
82
) ;
83
83
}
84
84
}
85
85
if ( lang === 'en' ) {
86
86
const keys = loadKeys ( data , ) ;
87
87
writeFileSync (
88
- `${ folder } /${ localConfig . targetDirectory } /language-key.ts` ,
88
+ `${ folder } /${ localConfig . targetDirectory } /language-key.ts` ,
89
89
localConfig . isVerbatimModuleSyntax
90
- ? `/* eslint max-len:0 */\ntype lk = '${ keys . join ( '\'|\'' , ) } ';\nexport type languageKey = lk;\n`
91
- : `/* eslint max-len:0 */\ntype languageKey = '${ keys . join ( '\'|\'' , ) } ';\nexport default languageKey;\n` ,
90
+ ? `/* eslint max-len:0 */\ntype lk = '${ keys . join ( '\'|\'' , ) } ';\nexport type languageKey = lk;\n`
91
+ : `/* eslint max-len:0 */\ntype languageKey = '${ keys . join ( '\'|\'' , ) } ';\nexport default languageKey;\n` ,
92
92
'utf8' ,
93
93
) ;
94
94
}
@@ -98,27 +98,27 @@ export default (
98
98
. map ( ( k , ) => k . replace ( / \. y m l $ / u, '' , ) , ) ,
99
99
) ;
100
100
writeFileSync (
101
- `${ folder } /${ localConfig . targetDirectory } /languages.ts` ,
102
- `/* eslint max-len:0 */\nconst languages = ${ languages } ;\nexport default languages;\n` ,
101
+ `${ folder } /${ localConfig . targetDirectory } /languages.ts` ,
102
+ `/* eslint max-len:0 */\nconst languages = ${ languages } ;\nexport default languages;\n` ,
103
103
'utf8' ,
104
104
) ;
105
105
writeFileSync (
106
- `${ folder } /${ localConfig . targetDirectory } /files.ts` ,
107
- `const files = ${ toTypescriptObject ( files , ) } ;\nexport default files;\n` ,
106
+ `${ folder } /${ localConfig . targetDirectory } /files.ts` ,
107
+ `const files = ${ toTypescriptObject ( files , ) } ;\nexport default files;\n` ,
108
108
'utf8' ,
109
109
) ;
110
110
if ( ! localConfig . hasNoTranslationsFile ) {
111
111
let fileImporter = '' ;
112
112
let fileExporter = 'const translations = {' ;
113
113
for ( const f of files ) {
114
114
const v = f . replace ( / - / gu, '_' , ) ;
115
- fileImporter += `import ${ v } from './${ f } .js';\n` ;
116
- fileExporter += `\n '${ f } ': ${ v } ,` ;
115
+ fileImporter += `import ${ v } from './${ f } .js';\n` ;
116
+ fileExporter += `\n '${ f } ': ${ v } ,` ;
117
117
}
118
118
fileExporter += '\n};' ;
119
119
writeFileSync (
120
- `${ folder } /${ localConfig . targetDirectory } /translations.ts` ,
121
- `${ fileImporter } ${ fileExporter } \nexport default translations;\n` ,
120
+ `${ folder } /${ localConfig . targetDirectory } /translations.ts` ,
121
+ `${ fileImporter } ${ fileExporter } \nexport default translations;\n` ,
122
122
'utf8' ,
123
123
) ;
124
124
}
0 commit comments