diff --git a/src/lib/local-storage.js b/src/lib/local-storage.js index 836cda49b..61f3cdb56 100644 --- a/src/lib/local-storage.js +++ b/src/lib/local-storage.js @@ -16,7 +16,7 @@ import { generatePackageTemplate, normalizePackage, generateRevision, cleanUpReadme, fileExist, noSuchFile, DEFAULT_REVISION, pkgFileName, } from './storage-utils'; - +import {loadPlugin} from '../lib/plugin-loader'; import LocalDatabase from '@verdaccio/local-storage'; import {UploadTarball, ReadTarball} from '@verdaccio/streams'; import type { @@ -44,9 +44,30 @@ class LocalStorage implements IStorage { logger: Logger; constructor(config: Config, logger: Logger) { - this.localData = new LocalDatabase(config, logger); this.logger = logger.child({sub: 'fs'}); this.config = config; + this.localData = this._loadStorage(config, logger); + } + + _loadStorage(config: Config, logger: Logger) { + const Storage = this._loadStorePlugin(); + + if (_.isNil(Storage)) { + return new LocalDatabase(this.config, logger); + } else { + return new Storage(this.config, logger); + } + } + + _loadStorePlugin() { + const plugin_params = { + config: this.config, + logger: this.logger, + }; + + return _.head(loadPlugin(this.config, this.config.store, plugin_params, function(plugin) { + return plugin.getPackageStorage; + })); } addPackage(name: string, pkg: Package, callback: Callback) { diff --git a/src/lib/storage.js b/src/lib/storage.js index 4333652b5..4813011f4 100644 --- a/src/lib/storage.js +++ b/src/lib/storage.js @@ -12,8 +12,6 @@ import {ReadTarball} from '@verdaccio/streams'; import ProxyStorage from './up-storage'; import * as Utils from './utils'; -import {loadPlugin} from '../lib/plugin-loader'; - const Logger = require('../lib/logger'); const WHITELIST = ['_rev', 'name', 'versions', 'dist-tags', 'readme', 'time']; const getDefaultMetadata = (name) => { @@ -38,28 +36,7 @@ class Storage { this.config = config; this._setupUpLinks(this.config); this.logger = Logger.logger.child(); - this.localStorage = this._loadStorage(); - } - - _loadStorage() { - const Storage = this._loadStorePlugin(); - - if (_.isNil(Storage)) { - return new LocalStorage(this.config, Logger.logger); - } else { - return new Storage(this.config, Logger.logger); - } - } - - _loadStorePlugin() { - const plugin_params = { - config: this.config, - logger: this.logger, - }; - - return _.head(loadPlugin(this.config, this.config.store, plugin_params, function(plugin) { - return plugin.getPackageStorage; - })); + this.localStorage = new LocalStorage(this.config, Logger.logger); } /**