Also decache config

pull/3747/head
Chocobozzz 2021-04-09 09:37:46 +02:00
parent 09d535ef98
commit bae9303726
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 21 additions and 12 deletions

View File

@ -1,12 +1,13 @@
import { IConfig } from 'config'
import { dirname, join } from 'path'
import { VideosRedundancyStrategy } from '../../shared/models'
// Do not use barrels, remain constants as independent as possible
import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils'
import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type'
import * as bytes from 'bytes'
import { IConfig } from 'config'
import decache from 'decache'
import { dirname, join } from 'path'
import { VideoRedundancyConfigFilter } from '@shared/models/redundancy/video-redundancy-config-filter.type'
import { BroadcastMessageLevel } from '@shared/models/server'
import { VideosRedundancyStrategy } from '../../shared/models'
import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type'
// Do not use barrels, remain constants as independent as possible
import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils'
// Use a variable to reload the configuration if we need
let config: IConfig = require('config')
@ -410,7 +411,7 @@ function buildVideosRedundancy (objs: any[]): VideosRedundancyStrategy[] {
export function reloadConfig () {
function directory () {
function getConfigDirectory () {
if (process.env.NODE_CONFIG_DIR) {
return process.env.NODE_CONFIG_DIR
}
@ -419,15 +420,17 @@ export function reloadConfig () {
}
function purge () {
const directory = getConfigDirectory()
for (const fileName in require.cache) {
if (fileName.includes(directory()) === false) {
if (fileName.includes(directory) === false) {
continue
}
delete require.cache[fileName]
}
delete require.cache[require.resolve('config')]
decache('config')
}
purge()

View File

@ -1,3 +1,4 @@
import decache from 'decache'
import * as express from 'express'
import { createReadStream, createWriteStream } from 'fs'
import { outputFile, readJSON } from 'fs-extra'
@ -23,8 +24,6 @@ import { ClientHtml } from '../client-html'
import { RegisterHelpers } from './register-helpers'
import { installNpmPlugin, installNpmPluginFromDisk, removeNpmPlugin } from './yarn'
const decache = require('decache')
export interface RegisteredPlugin {
npmName: string
name: string

View File

@ -1845,7 +1845,7 @@ call-me-maybe@^1.0.1:
resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b"
integrity sha1-JtII6onje1y95gJQoV8DHBak1ms=
callsite@1.0.0:
callsite@1.0.0, callsite@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA=
@ -2612,6 +2612,13 @@ debuglog@^1.0.0:
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
decache@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/decache/-/decache-4.6.0.tgz#87026bc6e696759e82d57a3841c4e251a30356e8"
integrity sha512-PppOuLiz+DFeaUvFXEYZjLxAkKiMYH/do/b/MxpDe/8AgKBi5GhZxridoVIbBq72GDbL36e4p0Ce2jTGUwwU+w==
dependencies:
callsite "^1.0.0"
decamelize-keys@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9"