95 lines
2.2 KiB
JavaScript
95 lines
2.2 KiB
JavaScript
const { readdir, stat, copyFile, ensureDir } = 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 jsMapFile = dir => join(dir, "index.js.map")
|
|
const sourceJs = jsFile("dist")
|
|
const sourceJsMap = jsMapFile("dist")
|
|
const componentsFile = "components.json"
|
|
|
|
const appPackages = join(
|
|
packagesFolder,
|
|
"server",
|
|
serverConfig.latestPackagesFolder
|
|
)
|
|
|
|
const publicMain = appName =>
|
|
join(
|
|
appPackages,
|
|
appName,
|
|
"public",
|
|
"main",
|
|
"lib",
|
|
"node_modules",
|
|
"@budibase",
|
|
"materialdesign-components"
|
|
)
|
|
const publicUnauth = appName =>
|
|
join(
|
|
appPackages,
|
|
appName,
|
|
"public",
|
|
"unauthenticated",
|
|
"lib",
|
|
"node_modules",
|
|
"@budibase",
|
|
"materialdesign-components"
|
|
)
|
|
const nodeModulesDist = appName =>
|
|
join(
|
|
appPackages,
|
|
appName,
|
|
"node_modules",
|
|
"@budibase",
|
|
"materialdesign-components",
|
|
"dist"
|
|
)
|
|
|
|
const nodeModules = appName =>
|
|
join(
|
|
appPackages,
|
|
appName,
|
|
"node_modules",
|
|
"@budibase",
|
|
"materialdesign-components"
|
|
)
|
|
|
|
;(async () => {
|
|
const apps = await readdir(appPackages)
|
|
|
|
const copySource = file => async toDir => {
|
|
await ensureDir(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 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 copyComponentsJson(nodeModules(app))
|
|
|
|
await copySourceJs(join(publicMain(app), "dist"))
|
|
await copySourceJsMap(join(publicMain(app), "dist"))
|
|
|
|
await copySourceJs(join(publicUnauth(app), "dist"))
|
|
await copySourceJsMap(join(publicUnauth(app), "dist"))
|
|
}
|
|
})()
|