63 lines
2.4 KiB
JavaScript
63 lines
2.4 KiB
JavaScript
const { readdir, stat, copyFile } = require("fs-extra");
|
|
const { constants } = require("fs");
|
|
const { join, basename } = require("path");
|
|
const serverConfig = require("../../server/config")();
|
|
|
|
const packagesFolder = "..";
|
|
|
|
const jsFile = dir => join(dir, "index.js");
|
|
const generatorsFile = dir => join(dir, "generators.js");
|
|
const jsMapFile = dir => join(dir, "index.js.map");
|
|
const sourceJs = jsFile("dist");
|
|
const sourceJsMap = jsMapFile("dist");
|
|
const componentsFile = "components.json";
|
|
const sourceGenerators = generatorsFile("dist");
|
|
|
|
const appPackages = join(packagesFolder, "server", serverConfig.latestPackagesFolder);
|
|
|
|
const publicMain = appName => join(appPackages, appName, "public", "main", "lib", "node_modules", "@budibase", "standard-components");
|
|
const publicUnauth = appName => join(appPackages, appName, "public", "unauthenticated", "lib", "node_modules", "@budibase", "standard-components");
|
|
const nodeModulesDist = appName => join(appPackages, appName, "node_modules", "@budibase", "standard-components", "dist");
|
|
const nodeModules = appName => join(appPackages, appName, "node_modules", "@budibase", "standard-components");
|
|
|
|
(async () => {
|
|
|
|
const apps = await readdir(appPackages);
|
|
|
|
const copySource = file => async toDir => {
|
|
const dest = join(toDir, basename(file));
|
|
try {
|
|
await copyFile(file, dest, constants.COPYFILE_FICLONE);
|
|
console.log(`COPIED ${file} to ${dest}`);
|
|
} catch(e) {
|
|
console.log(`COPY FAILED ${file} to ${dest}: ${e}`);
|
|
}
|
|
}
|
|
|
|
const copySourceJs = copySource(sourceJs);
|
|
const copySourceJsMap = copySource(sourceJsMap);
|
|
const copyGenerators = copySource(sourceGenerators);
|
|
const copyComponentsJson = copySource(componentsFile);
|
|
|
|
|
|
for(let app of apps) {
|
|
if(app === ".data") continue;
|
|
if(!(await stat(join(appPackages, app))).isDirectory()) continue;
|
|
|
|
await copySourceJs(nodeModulesDist(app));
|
|
await copySourceJsMap(nodeModulesDist(app));
|
|
await copyGenerators(nodeModulesDist(app));
|
|
|
|
await copyComponentsJson(nodeModules(app));
|
|
|
|
await copySourceJs(join(publicMain(app), "dist"));
|
|
await copySourceJsMap(join(publicMain(app), "dist"));
|
|
await copyGenerators(join(publicMain(app), "dist"));
|
|
|
|
|
|
await copySourceJs(join(publicUnauth(app), "dist"));
|
|
await copySourceJsMap(join(publicUnauth(app), "dist"));
|
|
await copyGenerators(join(publicUnauth(app), "dist"));
|
|
}
|
|
|
|
})(); |