const { readdir, stat, copyFile } = require("fs-extra") const { constants } = require("fs") const { join, basename } = require("path") const packagesFolder = ".." const jsFile = dir => join(dir, "budibase-client.js") const jsMapFile = dir => join(dir, "budibase-client.js.map") const sourceJs = jsFile("dist") const sourceJsMap = jsMapFile("dist") const appPackages = join(packagesFolder, "server", "appPackages") const publicMain = appName => join(appPackages, appName, "public", "main") const publicUnauth = appName => join(appPackages, appName, "public", "unauthenticated") const nodeModules = appName => join(appPackages, appName, "node_modules", "@budibase", "client", "dist") ;(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) for (let app of apps) { if (!(await stat(join(appPackages, app))).isDirectory()) continue await copySourceJs(nodeModules(app)) await copySourceJsMap(nodeModules(app)) await copySourceJs(publicMain(app)) await copySourceJsMap(publicMain(app)) await copySourceJs(publicUnauth(app)) await copySourceJsMap(publicUnauth(app)) await copySource(join("dist", "budibase-client.esm.mjs"))( join(packagesFolder, "server", "builder") ) } })()