Conversation
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis PR removes the ChangesPackage Removal & Release Configuration
Integration Pattern Migration & Documentation
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ackage
The wrapper added too little value to justify its own package, package
size, release cadence, and `generateSwagger()`-name shadowing. The
preset is the only routup-specific piece, and that already lives at
`@routup/decorators/preset`.
Consumers now call `@trapi/swagger`'s `generateSwagger()` directly
with `buildPreset()` from `@routup/decorators/preset`, or use the
`trapi` CLI with `--preset @routup/decorators/preset`. The README and
VitePress page for `@routup/decorators` gain an "OpenAPI generation"
section with the snippet.
Tests moved from `packages/swagger-generator/test/unit/{v2,v3}/` into
`packages/decorators/test/unit/preset/{v2,v3}.spec.ts` so they live
next to the decorators they validate; `@trapi/swagger` and `jsonata`
join `@routup/decorators`'s devDependencies.
Workspace cleanup: removed `packages/swagger-generator/`,
`packages/docs/src/swagger-generator/`, the release-please component
and linked-versions group, and stale references in the root README,
VitePress sidebar/grid, and agent docs.
BREAKING CHANGE: `@routup/swagger-generator` has been removed.
Replace `import { generateSwagger } from '@routup/swagger-generator'`
with `import { generateSwagger } from '@trapi/swagger'` plus
`import { buildPreset } from '@routup/decorators/preset'`, and pass
the preset explicitly via `metadata.preset`. See the
"OpenAPI generation" section in `@routup/decorators`'s README.
531f94b to
bb13aa1
Compare
There was a problem hiding this comment.
Pull request overview
This PR removes the former @routup/swagger (generator + UI) workspace and replaces it with a focused @routup/swagger-ui package, while moving OpenAPI generation guidance and TRAPI preset ownership into @routup/decorators (./preset export) and updating docs/release metadata accordingly.
Changes:
- Drop the
packages/swaggerworkspace and related docs pages, and update release-please + root README to point toswagger-ui. - Introduce
@routup/swagger-uias a standalone Swagger UI mountable plugin (new build config, assets template, tests). - Move/reshape TRAPI preset usage to
@routup/decorators/presetand update decorators docs + tests to call@trapi/swaggerdirectly.
Reviewed changes
Copilot reviewed 25 out of 26 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| release-please-config.json | Replaces packages/swagger with packages/swagger-ui for release automation. |
| .release-please-manifest.json | Updates manifest entry from swagger to swagger-ui. |
| README.md | Updates plugin list to point to swagger-ui. |
| packages/swagger/writable/.gitignore | Removed as part of deleting the swagger workspace. |
| packages/swagger/src/utils/index.ts | Removed as part of deleting the swagger workspace. |
| packages/swagger/src/index.ts | Removed as part of deleting the swagger workspace. |
| packages/swagger/src/generator/type.ts | Removed generator types from deleted swagger workspace. |
| packages/swagger/src/generator/module.ts | Removed generator implementation from deleted swagger workspace. |
| packages/swagger/src/generator/index.ts | Removed generator exports from deleted swagger workspace. |
| packages/swagger/src/generator/constants.ts | Removed generator constants from deleted swagger workspace. |
| packages/swagger/README.md | Removed swagger package readme. |
| packages/swagger/CHANGELOG.md | Removed swagger package changelog. |
| packages/swagger-ui/package.json | Renames package to @routup/swagger-ui and adjusts deps/metadata. |
| packages/swagger-ui/tsdown.config.ts | Adds tsdown build config for swagger-ui package. |
| packages/swagger-ui/tsconfig.json | Minor formatting cleanup. |
| packages/swagger-ui/tsconfig.build.json | Adds build tsconfig for swagger-ui package. |
| packages/swagger-ui/src/index.ts | Exports swagger-ui API and adds default export. |
| packages/swagger-ui/src/module.ts | Defines the swaggerUI() plugin wrapper. |
| packages/swagger-ui/src/handler.ts | Core handler for serving the template and swagger-ui-dist assets. |
| packages/swagger-ui/src/constants.ts | Defines assets path constant for template lookup. |
| packages/swagger-ui/src/utils.ts | Adds isFileURL() helper. |
| packages/swagger-ui/src/url.ts | Adds URL/path slash manipulation helpers. |
| packages/swagger-ui/src/object.ts | Adds object-type guard helper. |
| packages/swagger-ui/src/type.ts | Defines UIOptions types wrapping swagger-ui-dist config. |
| packages/swagger-ui/assets/template.tpl | Adds HTML template for Swagger UI page. |
| packages/swagger-ui/README.md | Adds swagger-ui package documentation. |
| packages/swagger-ui/LICENSE | Adds MIT license file for the new package. |
| packages/swagger-ui/test/vitest.config.ts | Adds Vitest config + coverage thresholds for swagger-ui. |
| packages/swagger-ui/test/unit/ui/utils.spec.ts | Adds tests for isFileURL(). |
| packages/swagger-ui/test/unit/ui/module.spec.ts | Adds integration tests for template + assets serving behavior. |
| packages/swagger-ui/test/data/swagger.json | Adds a large swagger fixture used by tests. |
| packages/docs/src/swagger/index.md | Removes the old combined swagger docs page. |
| packages/docs/src/swagger/generator.md | Removes the old generator docs page. |
| packages/docs/src/swagger-ui/index.md | Rewrites docs to reference @routup/swagger-ui and TRAPI generation via decorators preset. |
| packages/docs/src/decorators/index.md | Updates docs to describe OpenAPI generation via @routup/decorators/preset. |
| packages/docs/src/.vitepress/theme/components/PluginGrid.vue | Updates plugin grid to show swagger-ui and updated decorators bullets. |
| packages/docs/src/.vitepress/config.mts | Updates site description and nav links from swagger to swagger-ui. |
| packages/decorators/tsdown.config.ts | Adds a second build entry for the ./preset subpath. |
| packages/decorators/package.json | Adds ./preset export and optional peer dep on @trapi/metadata. |
| packages/decorators/src/preset/index.ts | Adds preset entrypoint and exports a built preset constant. |
| packages/decorators/src/preset/module.ts | Renames preset name and assembles class/method/parameter + swagger handlers. |
| packages/decorators/src/preset/class.ts | Adds class-level handler(s) for TRAPI preset. |
| packages/decorators/src/preset/method.ts | Adds method-level handler(s) for TRAPI preset. |
| packages/decorators/src/preset/parameter.ts | Adds parameter decorator mapping handlers for TRAPI preset. |
| packages/decorators/src/preset/swagger.ts | Adds swagger-specific decorator handlers (tags/security/description/etc.). |
| packages/decorators/test/unit/preset/v2.spec.ts | Updates preset tests to use generateSwagger() directly and new preset import path. |
| packages/decorators/test/unit/preset/v3.spec.ts | Updates preset tests to use generateSwagger() directly and new preset import path. |
| packages/decorators/README.md | Adds OpenAPI generation docs pointing to TRAPI + @routup/decorators/preset. |
| package-lock.json | Updates workspace links and dependency graph; still includes extraneous removed packages. |
| .agents/structure.md | Updates internal repo structure documentation for swagger-ui and decorators preset. |
| .agents/references/trapi.md | Updates TRAPI reference notes for the new preset location and generator guidance. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary by CodeRabbit
Chores
@routup/swagger-generatorpackage. Users should generate OpenAPI specs using@trapi/swaggerdirectly with the@routup/decorators/presetinstead.Documentation
@routup/decoratorsdocumentation with OpenAPI generation guidance using@trapi/swaggerand decorator presets.