don't scan packages that are definitely not plugins

This commit is contained in:
Eugene Pankov 2019-05-31 13:41:56 +02:00
parent 249d487813
commit 00b9a3e773

View File

@ -87,6 +87,7 @@ export async function findPlugins (): Promise<IPluginInfo[]> {
let paths = nodeModule.globalPaths let paths = nodeModule.globalPaths
let foundPlugins: IPluginInfo[] = [] let foundPlugins: IPluginInfo[] = []
let candidateLocations: { pluginDir: string, packageName: string }[] = [] let candidateLocations: { pluginDir: string, packageName: string }[] = []
const PREFIX = 'terminus-'
for (let pluginDir of paths) { for (let pluginDir of paths) {
pluginDir = normalizePath(pluginDir) pluginDir = normalizePath(pluginDir)
@ -101,7 +102,9 @@ export async function findPlugins (): Promise<IPluginInfo[]> {
}) })
} }
for (let packageName of pluginNames) { for (let packageName of pluginNames) {
candidateLocations.push({ pluginDir, packageName }) if (packageName.startsWith(PREFIX)) {
candidateLocations.push({ pluginDir, packageName })
}
} }
} }
@ -112,7 +115,7 @@ export async function findPlugins (): Promise<IPluginInfo[]> {
continue continue
} }
let name = packageName.substring('terminus-'.length) let name = packageName.substring(PREFIX.length)
if (foundPlugins.some(x => x.name === name)) { if (foundPlugins.some(x => x.name === name)) {
console.info(`Plugin ${packageName} already exists, overriding`) console.info(`Plugin ${packageName} already exists, overriding`)
@ -153,11 +156,14 @@ export async function loadPlugins (foundPlugins: IPluginInfo[], progress: Progre
console.info(`Loading ${foundPlugin.name}: ${nodeRequire.resolve(foundPlugin.path)}`) console.info(`Loading ${foundPlugin.name}: ${nodeRequire.resolve(foundPlugin.path)}`)
progress(index, foundPlugins.length) progress(index, foundPlugins.length)
try { try {
console.timeStamp('Loading ' + foundPlugin.name)
console.time('Loading ' + foundPlugin.name)
let packageModule = nodeRequire(foundPlugin.path) let packageModule = nodeRequire(foundPlugin.path)
let pluginModule = packageModule.default.forRoot ? packageModule.default.forRoot() : packageModule.default let pluginModule = packageModule.default.forRoot ? packageModule.default.forRoot() : packageModule.default
pluginModule['pluginName'] = foundPlugin.name pluginModule['pluginName'] = foundPlugin.name
pluginModule['bootstrap'] = packageModule.bootstrap pluginModule['bootstrap'] = packageModule.bootstrap
plugins.push(pluginModule) plugins.push(pluginModule)
console.timeEnd('Loading ' + foundPlugin.name)
} catch (error) { } catch (error) {
console.error(`Could not load ${foundPlugin.name}:`, error) console.error(`Could not load ${foundPlugin.name}:`, error)
} }