Budibase is an open-source low-code platform for creating internal apps in minutes. Supports PostgreSQL, MySQL, MSSQL, MongoDB, Rest API, Docker, K8s 🚀
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

38 lines
1.3 KiB

const { join } = require("path");
const constructHierarchy = require("./constructHierarchy");
const { common } = require("budibase-core");
const createAppPackage = (appPath) => ({
appDefinition: require(join(appPath, "appDefinition.json")),
behaviourSources: require(join(appPath, "plugins.js")),
appPath
});
module.exports.masterAppPackage = (config) => {
const standardPackage = createAppPackage("../appPackages/master");
const customizeMaster = config && config.customizeMaster
? config.customizeMaster
: a => a;
const appDefinition = common.$(standardPackage.appDefinition, [
customizeMaster,
constructHierarchy
]);
const plugins = require("../appPackages/master/plugins.js")
(config);
return ({
appDefinition,
behaviourSources: config && config.extraMasterPlugins
? {...plugins, ...config.extraMasterPlugins}
: plugins,
appPath: standardPackage.appPath
});
}
module.exports.applictionVersionPackage = (appname, versionId) => {
const pkg = createAppPackage(`../runtimePackages/${appname}/${versionId}`);
pkg.appDefinition = constructHierarchy(appDefinition);
return pkg;
}