]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Correctly unload plugin paths
authorChocobozzz <me@florianbigard.com>
Tue, 6 Jun 2023 09:59:27 +0000 (11:59 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 6 Jun 2023 09:59:27 +0000 (11:59 +0200)
server/helpers/decache.ts
server/lib/plugins/plugin-manager.ts

index 08ab545e42aab664d479bdf87163467f98cbc74d..6be446ff64211455eec5c7ae291b3309821948a6 100644 (file)
@@ -3,16 +3,16 @@
 
 import { extname } from 'path'
 
-function decachePlugin (pluginPath: string, libraryPath: string) {
+function decachePlugin (libraryPath: string) {
   const moduleName = find(libraryPath)
 
   if (!moduleName) return
 
   searchCache(moduleName, function (mod) {
     delete require.cache[mod.id]
-  })
 
-  removeCachedPath(pluginPath)
+    removeCachedPath(mod.path)
+  })
 }
 
 function decacheModule (name: string) {
@@ -22,9 +22,9 @@ function decacheModule (name: string) {
 
   searchCache(moduleName, function (mod) {
     delete require.cache[mod.id]
-  })
 
-  removeCachedPath(moduleName)
+    removeCachedPath(mod.path)
+  })
 }
 
 // ---------------------------------------------------------------------------
index 9086a4c8e855b2343fb77ddb9f49262bd001a81b..88c5b60d77b96ef3f857482949f819b70cbe28ee 100644 (file)
@@ -496,7 +496,7 @@ export class PluginManager implements ServerHook {
 
     // Delete cache if needed
     const modulePath = join(pluginPath, packageJSON.library)
-    decachePlugin(pluginPath, modulePath)
+    decachePlugin(modulePath)
     const library: PluginLibrary = require(modulePath)
 
     if (!isLibraryCodeValid(library)) {