jamesdaniels.net

Home Talks Blog

I've actually put something on this domain... let's see if I can keep it up

Hello world

by James Daniels

19 May 2022

I’ve actually built a website, for myself.

It’s built on Astro, Firebase Hosting, and Github Actions. It’s leaning on Firebase CLI’s Web Framework support—now in preview.

Want to give web frameworks a spin?

Enable it in the latest version of firebase-tools:

$ firebase --open-sesame frameworkawareness

You can use the FIREBASE_CLI_PREVIEWS environment variable to enable the feature flag in CI/CD.

Using the hosting.source option in firebase.json—rather than hosting.public—informs the Firebase CLI that it should try to built your web application.

// firebase.json
{
  "hosting": {
    "source": ".",
    ...
  }
}

No additional configuration is needed for Next.js, Nuxt, and Angular, however we’ve not added first-class support for Astro—yet.

The CLI will run your NPM build script but in order to know where the assets destined for Firebase Hosting have been placed, you need to add directories.serve to your package.json:

// package.json
{
  "directories": {
    "serve": "dist"
  },
  ...
}

With that, Firebase knows how to build and deploy an Astro app by your simply calling firebase deploy.

Give the new tooling for web frameworks a spin today & file an issue on Github if you run into any trouble. This site is open-source as well, if you wanted to poke around.

Happy coding!—James