Skip to content

Commit d94fe3f

Browse files
committed
enhance resolve SFCs
1 parent f82ea4d commit d94fe3f

File tree

1 file changed

+14
-19
lines changed
  • packages/@vuepress/core/lib/node/theme-api

1 file changed

+14
-19
lines changed

packages/@vuepress/core/lib/node/theme-api/index.js

+14-19
Original file line numberDiff line numberDiff line change
@@ -105,25 +105,20 @@ module.exports = class ThemeAPI {
105105
*/
106106

107107
function resolveSFCs (dirs) {
108-
return dirs.map(
109-
layoutDir => readdirSync(layoutDir)
110-
.filter(filename => filename.endsWith('.vue'))
111-
.map(filename => {
112-
const componentName = getComponentName(filename)
113-
return {
114-
filename,
115-
componentName,
116-
isInternal: isInternal(componentName),
117-
path: resolve(layoutDir, filename)
118-
}
119-
})
120-
).reduce((arr, next) => {
121-
arr.push(...next)
122-
return arr
123-
}, []).reduce((map, component) => {
124-
map[component.componentName] = component
125-
return map
126-
}, {})
108+
const map = {}
109+
for (const dir of dirs) {
110+
for (const filename of readdirSync(dir)) {
111+
if (!filename.endsWith('.vue')) continue
112+
const componentName = getComponentName(filename)
113+
map[componentName] = {
114+
filename,
115+
componentName,
116+
isInternal: isInternal(componentName),
117+
path: resolve(dir, filename)
118+
}
119+
}
120+
}
121+
return map
127122
}
128123

129124
/**

0 commit comments

Comments
 (0)