* fix(request-snippets): prevent scrolling errors from missing function
* refactor(request-snippets): migrate to functional component
* fix(curl): remove undefined prop and function
* test(live-response): fix import of RequestSnippets
SwaggerUI is now built using `webpack@5`, with dev support for `webpack-dev-server@4`
- ES Module output bundle path now points to `swagger-ui-es-bundle-core`, which does not include dependencies
- No change to CommonJS output bundle or path
- Now uses Asset Modules, which replaces `file-loader`, `raw-loader`, and `url-loader`
- Removed unused rules/loaders for `.woff | .woff2 | .ttf | .eot` fonts and html
- Node polyfills are no longer bundled with `webpack@5`, and must be loaded separately and/or use `resolve.fallback`.
As an example, SwaggerUI loads `process`, `buffer`, and `stream-browserify` as `devDependencies` in order to build development and production bundles.
SwaggerUI-React
- Now imports `swagger-ui-es-bundle-core`, and similarly outputs `swagger-ui-es-bundle-core` to its `dist` directory
Dev notes:
- Order of execution matters for the production npm build scripts. `build-stylesheets` needs to get built first,
then cleanup of any empty artifacts, before building the various production bundles
- `Dev-helpers` now relies on `HTMLWebpackPlugin` to inject css and bundle files
Before this change, memoization happened only on first
argument provided to the functions. Now the memoization
properly handle all arguments.
Refs #7800
@kyleshockey/object-assign-deep - replaced by lodash/merge. If behavior
not be compatible well use lodash/mergeWith.
@kyleshockey/xml - by installing stream library directly, we can use origin
xml library without the fork.
Refs #7341
* fix(ux): display actual content type instead of hard-coded application/octet-stream
* feat(ux): show file upload when schema has "format: binary", fixes#5636
* feat(ux): show file upload when schema has "format: base64"
According to
https://github.com/swagger-api/swagger-ui/pull/7325#issuecomment-861684260
the uploaded file should be converted to base64 automatically.
* feat(ux): add cypress tests for displaying an upload button
* feat: verbose Failed to fetch error
* refactor: disable console.error in src/core/plugins/spec/actions.js
Co-authored-by: Tim Lai <timothy.lai@gmail.com>
* feat(ux): enhance media-type switching experience in RequestBodyEditor
1. When canceling the try-out mode the request body will be reset to its initial state.
2. When the user switches the media-type in the try-out mode, the experience is as follows:
- If the user did edit the request body the body wont be touched and only media type is updated. This is to ensure that user content is NEVER accidentally overwritten with a default value.
- If the user did not edit the request body it is safe to be replaced by the default value of the target media-type.
Multiple example needed some care in order to allow the retain example value to function properly
* fix(test): workaround cypress issue that can't be reproduced manually
* test: added new feature to ensure enhanced user editing flow
Signed-off-by: mathis-m <mathis.michel@outlook.de>