This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/examples/jamstack/frontend.cue
Sam Alba 56926a7fed examples/jamstack: use a inputs.yaml instead of cue code
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-04-27 12:11:33 -07:00

54 lines
994 B
CUE

package main
import (
"dagger.io/dagger"
"dagger.io/netlify"
"dagger.io/js/react"
"dagger.io/git"
)
frontend: {
// Source code to build the app
source: git.#Repository | dagger.#Artifact
writeEnvFile?: string
// Yarn Build
yarn: {
// Run this yarn script
script: string | *"build"
// Read build output from this directory
// (path must be relative to working directory).
buildDir: string | *"build"
}
// Build environment variables
environment: [string]: string
environment: NODE_ENV: string | *"production"
environment: APP_URL: "https://\(name).netlify.app/"
}
frontend: {
app: react.#App & {
source: frontend.source
env: frontend.environment
if frontend.writeEnvFile != _|_ {
writeEnvFile: frontend.writeEnvFile
}
yarn: {
script: frontend.yarn.script
buildDir: frontend.yarn.buildDir
}
}
// Host the application with Netlify
site: netlify.#Site & {
"name": name
account: infra.netlifyAccount
contents: app.build
}
}