Files
Michael BiancoandGitHub 73c31ee4ef feat(node): support conditional SPA index fallback (#582)
* fix(caddy): standardize and improve security in Caddyfile templates

- Standardize security headers and compression settings across Node and static file providers.
- Improve health check handling by using log_skip to reduce log noise.
- Implement custom error page support for static file deployments.
- Update documentation to reflect the default Caddyfile capabilities.
- Add Railway proxy range to trusted proxies for improved network compatibility.

Generated-by: aiautocommit

* test(example): add node-astro-static-404 reproduction case

- Create a new example project to reproduce static site behavior with custom 404 pages.
- Configure Staticfile with index_fallback set to false to test 404 handling.
- Include an integration test suite validating that unknown routes correctly return the custom 404 page.

Generated-by: aiautocommit

* feat(node): support conditional SPA index fallback

- Allow the Caddy configuration to disable index.html fallback for node SPA deployments.
- Expose an option to read `index_fallback` from a Staticfile, defaulting to true for Node SPA projects.

Generated-by: aiautocommit

* docs: document Staticfile index_fallback configuration for Node SPAs

Generated-by: aiautocommit

* test: update snapshot

* Revert "fix(caddy): standardize and improve security in Caddyfile templates"

This reverts commit 6c8f57f5149ca1cc84d04d8eded8cdf7a928a66d.

* refactor: rename static-404 example to spa-staticfile

- Renamed the node-astro-static-404 example to node-spa-staticfile to better reflect its purpose as a SPA configuration example.
- Added a readme explaining the use case for customizing SPA behavior via a Staticfile.

Generated-by: aiautocommit

* refactor(node): update SPA detection and deployment configuration

*   Include Expo in SPA detection logic to ensure consistent behavior.
*   Standardize framework naming capitalization.
*   Update index fallback lookup to use a generalized helper function.

Generated-by: aiautocommit

* refactor(staticfile): align index fallback logic with provider requirements

- Centralize index fallback resolution in GetIndexFallback to differentiate between user-defined values and defaults.
- Update the Staticfile provider to explicitly set the default to false while maintaining compatibility for node SPA implementations.
- Improve Caddyfile template documentation regarding SPA routing behavior.

Generated-by: aiautocommit

* chore: update build plan dependencies and environment variables

- Bump railpack-builder and runtime versions to 2026.6.11
- Update Caddy version to 2.11.4
- Add NPM_CONFIG_FETCH_RETRIES to node environment variables
- Improve Caddyfile SPA routing logic
- Rename snapshot file to reflect the correct test case target

Generated-by: aiautocommit

* test: update Caddyfile try_files comments in snapshots

Generated-by: aiautocommit

* feat(node): treat expo start as a default command

- Add DefaultExpoStartCommand constant to identify the default Expo start script.
- Update hasCustomStartCommand to exclude Expo's default command from the custom command check.
- Update tests to reflect that Expo default behavior is no longer considered custom.

Generated-by: aiautocommit

* test: update snapshot
2026-06-18 10:19:31 +02:00
..

Ensures that a SPA with a Staticfile can customize SPA-related configuration, just like the Staticfile provider.