astro-firebase v0.0.3
astro-firebase
Deploy your server-side rendered (SSR) Astro app to Firebase.
Use this adapter in your Astro configuration file, alongside a valid deployment URL:
import { defineConfig } from 'astro/config';
import firebase from 'astro-firebase';
export default defineConfig({
adapter: firebase(),
});After you build your site the functions/ folder will contain your Firebase Function that runs Astro.
Now you can deploy!
firebase deployConfiguration
packageJson
Firebase Functions requires your functions/ folder to contain a package.json. We create a default package.json based on the package.json in your root. If you want to override some options, like for example the node version that Firebase should use, you can configure the packageJson property.
import { defineConfig } from 'astro/config';
import firebase from 'astro-firebase';
export default defineConfig({
adapter: firebase({
packageJson: {
engines: {
node: '18'
}
}
})
});FAQ
403 Error: Forbidden Your client does not have permission to get URL / from this server
If you're getting a 403 after deploying your project, it could be the case that you have to change the permissions of your Firebase Function. You can do this by following these steps:
- Go to your Firebase Console
- Select your firebase project
- Select
Functionsin the menu on the left - Hover over your
handlerfunction in the Functions list in theDashboard, a three-dotted menu button should appear, click it - Click
Detailed usage stats, this will take you to Google Cloud Platform- Click the
permissionstab - Click
+ ADD - in the
New principalsfield, enter:"allUsers" - in the
Select a rolemenu, enter:Cloud Functions->Cloud Functions Invoker - ✅ Done
- Click the
You should now be able to view your app.