Fix plugin unregister: unload all modules.
This commit is contained in:
parent
490d6f18c3
commit
0bad31dddb
15
package-lock.json
generated
15
package-lock.json
generated
@ -1136,6 +1136,12 @@
|
|||||||
"get-intrinsic": "^1.0.2"
|
"get-intrinsic": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"callsite": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"callsites": {
|
"callsites": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
|
||||||
@ -1554,6 +1560,15 @@
|
|||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"decache": {
|
||||||
|
"version": "4.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/decache/-/decache-4.6.0.tgz",
|
||||||
|
"integrity": "sha512-PppOuLiz+DFeaUvFXEYZjLxAkKiMYH/do/b/MxpDe/8AgKBi5GhZxridoVIbBq72GDbL36e4p0Ce2jTGUwwU+w==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"callsite": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"decamelize": {
|
"decamelize": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
"@typescript-eslint/eslint-plugin": "^4.21.0",
|
"@typescript-eslint/eslint-plugin": "^4.21.0",
|
||||||
"@typescript-eslint/parser": "^4.21.0",
|
"@typescript-eslint/parser": "^4.21.0",
|
||||||
"converse.js": "^7.0.5",
|
"converse.js": "^7.0.5",
|
||||||
|
"decache": "^4.6.0",
|
||||||
"eslint": "^7.20.0",
|
"eslint": "^7.20.0",
|
||||||
"eslint-config-standard": "^16.0.2",
|
"eslint-config-standard": "^16.0.2",
|
||||||
"eslint-config-standard-with-typescript": "^20.0.0",
|
"eslint-config-standard-with-typescript": "^20.0.0",
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
import { initSettings } from './lib/settings'
|
import { initSettings } from './lib/settings'
|
||||||
import { initRouters } from './lib/routers'
|
import { initRouters } from './lib/routers'
|
||||||
|
import type { Logger } from 'winston'
|
||||||
|
|
||||||
|
const decache = require('decache')
|
||||||
|
let logger: Logger | undefined
|
||||||
|
|
||||||
async function register ({
|
async function register ({
|
||||||
registerSetting,
|
registerSetting,
|
||||||
@ -7,6 +11,8 @@ async function register ({
|
|||||||
getRouter,
|
getRouter,
|
||||||
peertubeHelpers
|
peertubeHelpers
|
||||||
}: RegisterServerOptions): Promise<any> {
|
}: RegisterServerOptions): Promise<any> {
|
||||||
|
logger = peertubeHelpers.logger
|
||||||
|
|
||||||
await initSettings({ registerSetting })
|
await initSettings({ registerSetting })
|
||||||
await initRouters({
|
await initRouters({
|
||||||
settingsManager,
|
settingsManager,
|
||||||
@ -16,6 +22,10 @@ async function register ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function unregister (): Promise<any> {
|
async function unregister (): Promise<any> {
|
||||||
|
const module = __filename
|
||||||
|
logger?.info(`Unloading module ${module}...`)
|
||||||
|
decache(module)
|
||||||
|
logger?.info(`Successfully unloaded the module ${module}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user