budibase/packages/standard-components/scripts/deploy.js

42 lines
1.1 KiB
JavaScript

const packageJson = require("../package.json")
const { execSync } = require("child_process")
const fs = require("fs")
const TO_SYNC = "dist/"
const BUCKET_LOCATION = "s3://prod-budi-app-assets/assets"
const BASE_PROFILE = "budibase"
const S3_COMP_DIR = "@budibase/standard-components/dist"
const MANIFEST = "componentlibrary-latest.json"
function buildS3Path() {
return `${BUCKET_LOCATION}/componentlibrary-${packageJson.version}/${S3_COMP_DIR}`
}
async function run() {
let profile = process.env.AWS_PROFILE
if (profile == null) {
profile = BASE_PROFILE
}
// basic manifest file describing the latest
fs.writeFileSync(
MANIFEST,
JSON.stringify({
version: packageJson.version,
dir: S3_COMP_DIR,
})
)
execSync(`aws s3 sync ${TO_SYNC} ${buildS3Path()} --profile ${profile}`)
execSync(
`aws s3 cp ${MANIFEST} ${BUCKET_LOCATION}/${MANIFEST} --profile ${profile}`
)
fs.unlinkSync(MANIFEST)
}
run()
.then(() => {
console.log(`Deployment complete, version ${packageJson.version}`)
})
.catch((err) => {
console.error(err)
})