Files
Onsol-GO/.agents/skills/firebase-hosting-basics/references/configuration.md
T
2026-04-23 23:58:59 -05:00

1.8 KiB

Hosting Configuration (firebase.json)

The hosting section of firebase.json configures how your site is deployed and served.

Key Attributes

public (Required)

Specifies the directory to deploy to Firebase Hosting.

"hosting": {
  "public": "public"
}

ignore (Optional)

Files to ignore on deploy. Uses glob patterns (like .gitignore). Default ignores: firebase.json, **/.*, **/node_modules/**

redirects (Optional)

URL redirects to prevent broken links or shorten URLs.

"redirects": [
  {
    "source": "/foo",
    "destination": "/bar",
    "type": 301
  }
]

rewrites (Optional)

Serve the same content for multiple URLs, useful for SPAs or Dynamic Content.

"rewrites": [
  {
    "source": "**",
    "destination": "/index.html"
  },
  {
    "source": "/api/**",
    "function": "apiFunction"
  },
  {
    "source": "/container/**",
    "run": {
      "serviceId": "helloworld",
      "region": "us-central1"
    }
  }
]

headers (Optional)

Custom response headers.

"headers": [
  {
    "source": "**/*.@(eot|otf|ttf|ttc|woff|font.css)",
    "headers": [
      {
        "key": "Access-Control-Allow-Origin",
        "value": "*"
      }
    ]
  }
]

cleanUrls (Optional)

If true, drops .html extension from URLs.

"cleanUrls": true

trailingSlash (Optional)

Controls trailing slashes in static content URLs.

  • true: Adds trailing slash.
  • false: Removes trailing slash.

Full Example

{
  "hosting": {
    "public": "dist",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "destination": "/index.html"
      }
    ],
    "cleanUrls": true,
    "trailingSlash": false
  }
}