From 02ccbc1f69ee984b3ce285065a303abb8400f82e Mon Sep 17 00:00:00 2001 From: Reto Brunner Date: Tue, 12 Oct 2021 22:48:47 +0200 Subject: [PATCH] plugins: expose persistant data dir Plugins need to be able to store persistant files, say settings or databases or similar things. Expose a standard location that gets created when the path is accessed. --- src/plugins/packages/index.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/plugins/packages/index.js b/src/plugins/packages/index.js index 47b9e7fb..a0edeb11 100644 --- a/src/plugins/packages/index.js +++ b/src/plugins/packages/index.js @@ -46,6 +46,7 @@ const packageApis = function (packageInfo) { }, Config: { getConfig: () => Helper.config, + getPersistentStorageDir: getPersistentStorageDir.bind(this, packageInfo.packageName), }, Logger: { error: (...args) => log.error(...args), @@ -87,6 +88,12 @@ function getEnabledPackages(packageJson) { return []; } +function getPersistentStorageDir(packageName) { + const dir = path.join(Helper.getPackagesPath(), packageName); + fs.mkdirSync(dir, {recursive: true}); // we don't care if it already exists or not + return dir; +} + function loadPackage(packageName) { let packageInfo; let packageFile;