53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
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")
|
|
)
|
|
}
|
|
})()
|