harmbandstra/swagger-ui-bundle
Laravel package that bundles Swagger UI so you can serve interactive OpenAPI/Swagger documentation from your application. It publishes the required assets and provides routes/config to display your API spec with minimal setup.
config.json mechanism rather than adding a Laravel config key. That keeps coupling low: the package does not need new service-provider bindings, and the file is a static artifact consumed by Swagger UI at render time. It is consistent with the package’s existing “publish static assets and render Swagger UI” model.config.json where the Swagger UI entry point/assets are served, and the package applies it automatically. No new dependencies, migrations, routes, or application code changes are required. Absence of the file preserves existing behavior.config.json is fetched by the browser and is therefore publicly served. Values such as oauth2RedirectUrl, client IDs, validatorUrl, and urls/urls.primaryName become visible to anyone who can load the docs page.config() cascade. Inline initialization options, environment variables, and config.json may interact in ways that are not obvious.config.json expected to live — the published assets directory (e.g. public/vendor/...), the project root, or a path configured elsewhere?vendor:publish / package upgrades overwrite the file, and is there a documented safe location outside published assets?config.json, the package’s own initialization options, and any environment-driven settings?config.json, and could stale caching mask changes?config.json)?config.json in the location the package serves Swagger UI from, then verify the rendered page reflects the values. Teams that currently customize Swagger UI via package config or custom views should confirm which source now wins before duplicating settings.php artisan serve) and production web-server setups, where static file paths and caching differ.config.json present.vendor:publish/upgrades.config.json (e.g. deepLinking, displayOperationId) and validate it is applied.config.json.vendor:publish or package upgrades. Pin/document the expected Swagger UI version so key drift is caught during upgrades.config.json can cause confusing behavior after a change.vendor:publish --force or a package upgrade.config.json fetch, leaving defaults in place.How can I help you explore Laravel packages today?