in caches-cleanup-plugin-agent/src/main/kotlin/github/nskvortsov/teamcity/cleanup/NPMCacheCleanerProvider.kt [24:45]
override fun registerDirectoryCleaners(context: DirectoryCleanersProviderContext, registry: DirectoryCleanersRegistry) {
log.debug("NPM cache cleaner: register dir cleaners")
val disabled = context.hasExplicitFalse("teamcity.cleaners.npm.enabled")
if (disabled) {
log.info("NPM repository cleaner is disabled, skipping.")
return
}
val home = System.getProperty("user.home")
?: return log.warn("Failed to detect user home directory, system property 'user.home' is not present")
val npmRepo: File =
if (SystemInfo.isWindows) {
File(getAppDataOrHome(home), "npm-cache")
} else {
File("$home/.npm")
}
log.debug("Checking if [${npmRepo.absolutePath}] exists")
if (npmRepo.exists()) {
log.debug("NPM cache found at '${npmRepo.path}', registering cleaner.")
registry.addCleaner(npmRepo, Date(), Cleaner(npmRepo, log))
}
}