Fix plugin unregister: unload all modules.
This commit is contained in:
@ -1,5 +1,9 @@
|
||||
import { initSettings } from './lib/settings'
|
||||
import { initRouters } from './lib/routers'
|
||||
import type { Logger } from 'winston'
|
||||
|
||||
const decache = require('decache')
|
||||
let logger: Logger | undefined
|
||||
|
||||
async function register ({
|
||||
registerSetting,
|
||||
@ -7,6 +11,8 @@ async function register ({
|
||||
getRouter,
|
||||
peertubeHelpers
|
||||
}: RegisterServerOptions): Promise<any> {
|
||||
logger = peertubeHelpers.logger
|
||||
|
||||
await initSettings({ registerSetting })
|
||||
await initRouters({
|
||||
settingsManager,
|
||||
@ -16,6 +22,10 @@ async function register ({
|
||||
}
|
||||
|
||||
async function unregister (): Promise<any> {
|
||||
const module = __filename
|
||||
logger?.info(`Unloading module ${module}...`)
|
||||
decache(module)
|
||||
logger?.info(`Successfully unloaded the module ${module}`)
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
Reference in New Issue
Block a user