Menu
Site code reference
What isn't supported
Astro and web-project features that don't work on a Starjay site, and what to do instead.
Starjay sites are Astro projects, but not every Astro feature is available. This page lists what doesn't work and the alternative for each.
| Not supported | What happens | Do this instead |
|---|---|---|
| React, Vue, Svelte, Solid and other framework components | No framework integration is installed, so they don't render. .tsx and .jsx files are refused as pages. |
Write .astro components; add behavior with <script>, <details> and <dialog>. See Interactivity. |
| New npm packages | package.json can't be written, so new packages can't be installed. |
Write the code in src/lib/, or load a third-party script in a snippet file. |
Config edits (astro.config.mjs, tsconfig.json, package.json) |
Refused. | None; the configuration is managed. |
Middleware (src/middleware.ts) |
Refused. | Use redirects (redirects_modify). |
| Server endpoints and API routes | Not supported. | Use forms for visitor input, and third-party services from the browser. |
| Environment variables and secrets | There's nowhere to set them, and site code has no access to any. | Never put keys in site code. Anything in a page is public. |
Alternative layouts (src/layouts/ other than Base.astro) |
Refused. | Put shared chrome in src/components/layout/; per-page structure goes in the page. |
Editing Base.astro |
Refused. | Use modify_layout for the header and footer, and the snippet files for raw <head> and <body> content. |
Build-time content collections (src/content.config.ts, getCollection) |
Refused. | Use CMS collections with getLiveCollection and getLiveEntry. See Reading CMS content in code. |
Files in public/ |
Refused. | Images go through the image library. |
Astro.rewrite('/404') |
Fails on the live site. | return new Response(null, { status: 404 }). |
| Converting Markdown to HTML in code | Not supported. | Use the <Markdown> component. |
Raw <form> elements |
Refused. | Use the form components. |
Pages under an _ path segment |
Refused. | Choose a path without a leading underscore. |
| RSS feeds | Not available. | None. |