@@ -86,6 +86,10 @@ function processText (text, config, filename, linter) {
86
86
) . filter ( e => e )
87
87
}
88
88
89
+ /**
90
+ * Collect the used keys.
91
+ * @returns {string[] }
92
+ */
89
93
function collectKeys ( files , extensions ) {
90
94
debug ( 'collectKeys' , files , extensions )
91
95
@@ -107,22 +111,22 @@ function collectKeys (files, extensions) {
107
111
linter . defineParser ( 'vue-eslint-parser' , require ( require . resolve ( config . parser ) ) )
108
112
linter . defineRule ( INTERNAL_RULE_KEY , { create } )
109
113
114
+ const results = new Set ( )
115
+
110
116
// detect used lodalization keys with linter
111
- const fileList = listFilesToProcess ( files , config )
112
- const results = fileList . map ( fileInfo => {
113
- const { filename, ignored } = fileInfo
117
+ for ( const { filename, ignored } of listFilesToProcess ( files , config ) ) {
114
118
debug ( `Processing file ... ${ filename } ` )
115
119
116
- if ( ignored ) { return { } }
120
+ if ( ignored ) { continue }
117
121
118
122
const text = readFileSync ( resolve ( filename ) , 'utf8' )
119
- return processText ( text , config , filename , linter )
120
- } ) . reduce ( ( values , current ) => values . concat ( current ) , [ ] )
121
123
122
- return results . reduce ( ( values , current ) => {
123
- values [ current ] = true
124
- return values
125
- } , { } )
124
+ for ( const usedKey of processText ( text , config , filename , linter ) ) {
125
+ results . add ( usedKey )
126
+ }
127
+ }
128
+
129
+ return [ ...results ]
126
130
}
127
131
128
132
module . exports = collectKeys
0 commit comments