32 lines
1017 B
JavaScript
32 lines
1017 B
JavaScript
"use strict";
|
|
|
|
const path = require("path");
|
|
const fs = require("fs");
|
|
|
|
const DEFAULT_ROOT = "/opt/jibo/Jibo/Skills";
|
|
|
|
function resolveSkillsRoot(overrideRoot) {
|
|
if (overrideRoot && typeof overrideRoot === "string") return overrideRoot;
|
|
if (process && process.env && process.env.JIBO_SKILLS_ROOT) return process.env.JIBO_SKILLS_ROOT;
|
|
return DEFAULT_ROOT;
|
|
}
|
|
|
|
function providersDirForRoot(skillsRoot) {
|
|
// Keep providers inside Skills so they can be synced easily.
|
|
// Default: /opt/jibo/Jibo/Skills/@be/menu-entries.d
|
|
// Legacy fallback: /opt/jibo/Jibo/Skills/@be/menu-providers.d
|
|
const v2 = path.join(skillsRoot, "@be", "menu-entries.d");
|
|
const v1 = path.join(skillsRoot, "@be", "menu-providers.d");
|
|
try {
|
|
if (fs.existsSync(v2)) return v2;
|
|
if (fs.existsSync(v1)) return v1;
|
|
} catch (e) { /* ignore */ }
|
|
return v2;
|
|
}
|
|
|
|
module.exports = {
|
|
DEFAULT_ROOT: DEFAULT_ROOT,
|
|
resolveSkillsRoot: resolveSkillsRoot,
|
|
providersDirForRoot: providersDirForRoot
|
|
};
|