@lark-project/cli
Version:
飞书项目插件开发工具
54 lines (53 loc) • 2.77 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getUserPathSync = void 0;
const path_1 = __importDefault(require("path"));
const os_1 = __importDefault(require("os"));
const fs_extra_1 = __importDefault(require("fs-extra"));
const constants_1 = require("./constants");
/** 获取用户应用数据存储地址 */
const getUserPathSync = () => {
if (process.platform === 'win32') {
return path_1.default.join(os_1.default.homedir(), 'AppData', 'Roaming');
}
else {
return path_1.default.join(os_1.default.homedir(), '.config');
}
};
exports.getUserPathSync = getUserPathSync;
const resolveModule = (resolveFn, filePath) => {
const extension = constants_1.MODULE_FILE_EXTENSIONS.find(extension => fs_extra_1.default.existsSync(resolveFn(`${filePath}.${extension}`)));
if (extension) {
return resolveFn(`${filePath}.${extension}`);
}
return resolveFn(`${filePath}.js`);
};
/** 插件根目录 */
const pluginDirectory = fs_extra_1.default.realpathSync(process.cwd());
const resolvePlugin = (relativePath) => path_1.default.resolve(pluginDirectory, relativePath);
const paths = {
globalConfigJson: path_1.default.join((0, exports.getUserPathSync)(), constants_1.PATH.CONFIG_FILE),
pluginBuild: resolvePlugin(constants_1.PATH.BUILD_FOLDER),
pluginBuildConfig: resolvePlugin(constants_1.PATH.BUILD_CONFIG_FILE),
pluginBuildIndexJs: resolvePlugin(constants_1.PATH.BUILD_INDEX_JS_FILE),
pluginBuildIndexCss: resolvePlugin(constants_1.PATH.BUILD_INDEX_CSS_FILE),
pluginBuildAssets: resolvePlugin(constants_1.PATH.BUILD_ASSETS_FOLDER),
pluginBuildZip: resolvePlugin(constants_1.PATH.BUILD_ZIP_FOLDER),
pluginConfigJson: resolvePlugin(constants_1.PATH.MANIFEST_FILE),
pluginExtBuildConfigTs: resolvePlugin(constants_1.PATH.EXT_BUILD_CONFIG_TS),
pluginExtBuildConfigJs: resolvePlugin(constants_1.PATH.EXT_BUILD_CONFIG_JS),
pluginIndexJs: resolveModule(resolvePlugin, constants_1.PATH.SRC_INDEX_FILE),
pluginPackageJson: resolvePlugin(constants_1.PATH.PACKAGE_FILE),
pluginPath: resolvePlugin('.'),
pluginProductZip: resolvePlugin(constants_1.PATH.PRODUCT_ZIP_FILE),
pluginPublic: resolvePlugin(constants_1.PATH.PUBLIC_PATH),
pluginSrc: resolvePlugin(constants_1.PATH.SRC_FOLDER),
pluginSrcAssets: resolvePlugin(constants_1.PATH.SRC_ASSETS_FOLDER),
pluginTsConfig: resolvePlugin(constants_1.PATH.TS_CONFIG_FILE),
publicUrlOrPath: resolvePlugin('/'),
rootCAPath: path_1.default.join(os_1.default.homedir(), '.Meegle_Developer_Platform_CA'),
};
exports.default = paths;