2019-06-25 23:48:22 +02:00
|
|
|
const { join } = require("path");
|
2019-06-28 23:59:27 +02:00
|
|
|
const constructHierarchy = require("./constructHierarchy");
|
|
|
|
const { common } = require("budibase-core");
|
2019-07-05 17:56:53 +02:00
|
|
|
const { getRuntimePackageDirectory } = require("../utilities/runtimePackages");
|
|
|
|
const createAppPackage = (config, appPath) => {
|
|
|
|
|
|
|
|
const appDefModule = require(
|
|
|
|
join(appPath, "appDefinition.json"));
|
|
|
|
|
|
|
|
const pluginsModule = require(
|
|
|
|
join(appPath, "plugins.js"));
|
|
|
|
|
|
|
|
return ({
|
|
|
|
appDefinition: appDefModule,
|
|
|
|
behaviourSources: pluginsModule(config),
|
|
|
|
appPath
|
|
|
|
})
|
|
|
|
}
|
2019-06-25 23:48:22 +02:00
|
|
|
|
|
|
|
module.exports.masterAppPackage = (config) => {
|
2019-07-05 17:56:53 +02:00
|
|
|
const standardPackage = createAppPackage(config, "../appPackages/master");
|
2019-06-25 23:48:22 +02:00
|
|
|
|
|
|
|
const customizeMaster = config && config.customizeMaster
|
|
|
|
? config.customizeMaster
|
|
|
|
: a => a;
|
|
|
|
|
2019-06-28 23:59:27 +02:00
|
|
|
const appDefinition = common.$(standardPackage.appDefinition, [
|
|
|
|
customizeMaster,
|
|
|
|
constructHierarchy
|
|
|
|
]);
|
|
|
|
|
|
|
|
const plugins = require("../appPackages/master/plugins.js")
|
|
|
|
(config);
|
2019-06-25 23:48:22 +02:00
|
|
|
|
|
|
|
return ({
|
|
|
|
appDefinition,
|
2019-06-28 23:59:27 +02:00
|
|
|
behaviourSources: config && config.extraMasterPlugins
|
|
|
|
? {...plugins, ...config.extraMasterPlugins}
|
|
|
|
: plugins,
|
2019-06-25 23:48:22 +02:00
|
|
|
appPath: standardPackage.appPath
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2019-07-05 17:56:53 +02:00
|
|
|
module.exports.applictionVersionPackage = (config, appname, versionId) => {
|
|
|
|
const pkg = createAppPackage(
|
|
|
|
config,
|
|
|
|
join("..", getRuntimePackageDirectory(appname, versionId))
|
|
|
|
);
|
|
|
|
pkg.appDefinition = constructHierarchy(pkg.appDefinition);
|
2019-06-28 23:59:27 +02:00
|
|
|
return pkg;
|
|
|
|
}
|