UNPKG

flipper-plugin-lib

Version:

Library containing common Flipper plugin installation utilities

55 lines 2.73 kB
"use strict"; /** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPluginDirNameFromPackageName = exports.getPluginVersionInstallationDir = exports.getPluginInstallationDir = exports.getPluginSourceFolders = exports.pluginCacheDir = exports.pluginInstallationDir = exports.legacyPluginInstallationDir = void 0; const path_1 = __importDefault(require("path")); const os_1 = require("os"); const fs_extra_1 = __importDefault(require("fs-extra")); const p_filter_1 = __importDefault(require("p-filter")); const flipperDataDir = path_1.default.join((0, os_1.homedir)(), '.flipper'); exports.legacyPluginInstallationDir = path_1.default.join(flipperDataDir, 'thirdparty'); exports.pluginInstallationDir = path_1.default.join(flipperDataDir, 'installed-plugins'); exports.pluginCacheDir = path_1.default.join(flipperDataDir, 'plugins'); async function getPluginSourceFolders() { const pluginFolders = []; const flipperConfigPath = path_1.default.join((0, os_1.homedir)(), '.flipper', 'config.json'); if (await fs_extra_1.default.pathExists(flipperConfigPath)) { let config = { pluginPaths: [] }; try { config = await fs_extra_1.default.readJson(flipperConfigPath); } catch (e) { console.error('Failed to read local flipper config: ', e); } if (config.pluginPaths) { pluginFolders.push(...config.pluginPaths); } } pluginFolders.push(path_1.default.resolve(__dirname, '..', '..', 'plugins', 'public')); pluginFolders.push(path_1.default.resolve(__dirname, '..', '..', 'plugins', 'fb')); return (0, p_filter_1.default)(pluginFolders, (p) => fs_extra_1.default.pathExists(p)); } exports.getPluginSourceFolders = getPluginSourceFolders; function getPluginInstallationDir(name) { return path_1.default.join(exports.pluginInstallationDir, getPluginDirNameFromPackageName(name)); } exports.getPluginInstallationDir = getPluginInstallationDir; function getPluginVersionInstallationDir(name, version) { return path_1.default.join(getPluginInstallationDir(name), version); } exports.getPluginVersionInstallationDir = getPluginVersionInstallationDir; function getPluginDirNameFromPackageName(name) { return name.replace('/', '__'); } exports.getPluginDirNameFromPackageName = getPluginDirNameFromPackageName; //# sourceMappingURL=pluginPaths.js.map