Commit Graph

118 Commits

Author SHA1 Message Date
Vladimír Gorej
113996f627 feat(json-schema): expose API that generates examples from JSON Schema (#9190)
This allows to use the samples API in a static way
without fully instantiating SwaggerUI.

Refs #9188
2023-09-05 14:13:53 +02:00
Vladimír Gorej
edd1153723 feat: expose plugins and presets on SwaggerUI global symbol (#9189)
Part of this commit is also:
- complete plugins consolidation
- complete presets consolidation
- build system consolidation

Refs #9188
2023-09-05 09:56:51 +02:00
Vladimír Gorej
b2814737d6 feat: respect Encoding Object while building requests (#9105)
This change fixes both:

1. making multipart/form-data requests with content-type
   header for every individual boundary
2. generating correct CURL command for multipart/form-data
   request, allowing specifying content-type header for every
   individual boundary

Refs #4826
Refs #5356
2023-08-01 15:20:22 +02:00
Vladimír Gorej
03a0280986 test(curlify): add test for multipart request quotes handling (#9096)
Refs #4826
2023-07-31 09:37:05 +02:00
Adam Davis
d9375dbddf fix(samples): fix handling of additionalProperties in JSON Schema 2020-12 (#9023)
This change is specific to JSON Schema 2020-12 and OpenAPI 3.1.0.

Refs #9022
2023-07-24 10:04:00 +02:00
Vladimir Gorej
4cc8ecb790 Merge branch 'master' into next 2023-06-12 18:39:44 +02:00
Vladimír Gorej
75a8f34452 chore(deps): bump @babel/runtime-corejs3 from 7.21.5 to 7.22.5 (#8918)
Closes #8904
2023-06-12 15:39:21 +02:00
Vladimír Gorej
7bf0dd921b feat(samples): add support for proper schema merging (#8910)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-11 15:35:05 +02:00
Vladimír Gorej
4b0b28518e feat(examples): add support for examples keyword (#8908)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-10 17:08:24 +02:00
Vladimír Gorej
6c622a87e7 feat(samples): add support for contentSchema keyword (#8907)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-09 21:35:44 +02:00
Vladimír Gorej
1925622113 feat(samples): add support for contentMediaType keyword (#8903)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-09 11:37:11 +02:00
Vladimír Gorej
04839642fb feat(samples): add support for contentEncoding keyword (#8899)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-08 18:35:03 +02:00
Vladimír Gorej
6549eff278 feat(samples): add support for contains, minContains, maxContains keywords (#8896)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-08 14:06:22 +02:00
Vladimír Gorej
1114965782 feat(samples): add support for uniqueItems keyword (#8893)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-07 14:21:04 +02:00
Vladimír Gorej
8a914926b3 feat(samples): add support for regex string format (#8891)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-07 12:39:04 +02:00
Vladimír Gorej
68cfe46490 feat(samples): support multipleOf keyword (#8890)
This change is specific ti JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-07 11:48:10 +02:00
Vladimír Gorej
836659d8ac feat(samples): support new semantics of exclusive number ranges (#8885)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-06 13:49:02 +02:00
Vladimír Gorej
bdad2fe83d feat(samples): add support for const keyword (#8884)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-06 11:09:10 +02:00
Vladimír Gorej
3587696d73 feat(samples): add support for type keyword defined as list of types (#8883)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-06 10:54:08 +02:00
Vladimír Gorej
28b12338f8 feat(samples): add support for new values of format keyword (#8882)
This change is specific to JSON Schema 2020-12
and OpenAPI 3.1.0.

Refs #8577
2023-06-05 15:12:50 +02:00
Vladimir Gorej
2ce9d08af7 test: align tests with sample plugin changes
Refs #8577
2023-06-01 14:09:02 +02:00
Vladimír Gorej
027f53c302 refactor(samples): move example generation code to samples plugin (#8727)
Refs #8577
2023-06-01 14:09:02 +02:00
Vladimir Gorej
b9c6c6f9d3 Merge branch 'master' into next 2023-05-24 15:51:42 +02:00
Vladimír Gorej
7ac9a8f070 feat(auth): persist cookie based apiKey in document.cookie (#8689)
Refs #8683
2023-05-22 14:46:30 +02:00
Vladimir Gorej
b4e9544f5f Merge branch 'master' into next 2023-04-26 14:01:09 +02:00
Krzysztof Kowalczyk
cdfc4de43e fix(response-body): remove download button when content is empty (#8579)
Co-authored-by: Vladimír Gorej <vladimir.gorej@gmail.com>
2023-04-26 13:42:49 +02:00
Vladimír Gorej
4db964378b test(core): align test with dependency update (#8512) 2023-03-24 09:40:27 +01:00
Vladimir Gorej
10a2397e81 Merge branch 'master' into next 2023-03-21 14:19:43 +01:00
Vladimír Gorej
4810801f77 feat(oas31): add support for OpenAPI 3.1.0 in VersionPragmaFilter (#8495)
Refs #8492
2023-03-21 11:52:07 +01:00
Vladimír Gorej
47e12f1de3 refactor(oas31): simplify Webhooks component by utilizing selectors (#8481)
Refs #8474
2023-03-17 18:14:23 +01:00
Vladimír Gorej
8b274414ab refactor(oas31): concentrate OpenAPI 3.1.0 code to separate plugin (#8475)
Refs #8474
2023-03-16 12:05:19 +01:00
Enzzo
44e2700c74 fix: decode model schema name on model component (#8400)
Refs #5626
2023-03-13 11:59:44 +01:00
Vladimír Gorej
cab47a36c8 test(core): fix unit test assertion (#8456)
Refs #8403
2023-03-08 13:55:39 +01:00
Tim Lai
4557b2497b feat: OpenAPI 3.1 support (#8367)
- New top-level field - `webhooks`. This allows describing out-of-band webhooks that are available as part of the API.

- New top-level field - `jsonSchemaDialect`. This allows defining of a default `$schema` value for Schema Objects

- The Info Object has a new `summary` field.

- The License Object now has a new `identifier` field for SPDX licenses. This `identifier` field is mutually exclusive with the `url` field. Either can be used in OpenAPI 3.1 definitions.

- Components Object now has a new entry `pathItems`, to allow for reusable Path Item Objects to be defined within a valid OpenAPI document.

- `License` and `Contact` components are now exported and available via `getComponent`

- New version predicates and selectors for `isOpenAPI30` and `isOpenAPI31`. This avoids needing to change the usage of `isOAS3` selector.

- New OAS3 components: `Webhooks`

- New OAS3 wrapped components: `Info`, `License`
2023-02-03 14:06:56 -08:00
Guillaume Tassery
b010b558f1 fix(ui): handle missing schema reference case for discriminant definitions (#8257)
Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-10-26 12:14:28 -07:00
ishuen
2a967e9b25 fix(parameters): allowedValues for enum and boolean types (#8231)
* Change parameter with empty map

* Change allowValues data type

Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-10-25 11:01:07 -07:00
kai-morich
94575666c3 fix(oauth2): only display scopes relevant for current endpoint (#8229)
* 'available authorization' popup: only show oauth2 scopes relevant for current endpoint (issue #8219)

* unit tests for oauth2 scope filter

Co-authored-by: Kai Morich <kai.morich@sap.com>
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-10-24 13:37:49 -07:00
Ahmed Yarub Hani Al Nuaimi
f5bb456ffa feat(example): set discriminated properties to mapped value (#8213) 2022-10-17 16:22:43 -07:00
Vladimir Gorej
7dd167b626 docs(setting-up): reword how SwaggerUI reflects Node.js releases (#8142)
Refs b89e88579c
2022-08-17 10:58:06 +02:00
Andreas Deininger
9891d97201 docs: fix typos and update https references (#8154)
Co-authored-by: Tim Lai <timothy.lai@smartbear.com>
2022-08-12 10:14:27 -07:00
Tim Lai
b89e88579c fix(jsdom): cumulative Jest updates with support for TextEncoder/TextDecoder (#8111) 2022-07-20 13:15:06 -07:00
twjasa
77d0bb960b feat: add modelcollapse to primitive models (#7557)
* update: primitive-model test with modelcollapse

Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-03-21 14:50:14 -07:00
Christopher Giroir
c81d7f0f30 feat(docker): add OAUTH_USE_BASIC_AUTH env (#7474)
Makes the last `initOAuth` variable configurable via environment
variables in the swagger-ui docker image.

Co-authored-by: Christopher Giroir <chrisgiroir@improbable.io>
Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-03-21 13:53:07 -07:00
Maciej Kowalski
8f63462f9e feat(oauth2): authActions.authPopup plugin accessible wrapper (#7699)
* enables win.open to be extensible by plugins

Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-03-10 14:44:46 -08:00
dewijones92
3d79c24949 fix(examples): allow string created by regex pattern (#7829)
Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-03-03 16:31:00 -08:00
Mahtis Michel
2b30a3478d feat(requestSnippets): handle type: string, format: binary or base64 file upload data (#7545)
* test(curlify): assert that data-binary is generated

Co-authored-by: Tim Lai <timothy.lai@gmail.com>
2022-01-31 11:34:45 -08:00
Vladimir Gorej
8b1c4a7c1a feat(error-handling): introduce unified and configurable error handling (#7761)
Refs #7778
2022-01-24 16:12:13 +01:00
Vladimir Gorej
01a3e55960 fix(security): disable reading config params from URL search params (#7697)
Reading configuration parameters from URL search params 
is by default no longer enabled. To re-enable it, set queryConfigEnabled
configuration parameter to true.

Functionally, this is a breaking change, but given we're just providing
a security vulnerability patch we're considering this a PATCH version bump
only.

Refs #4872
Refs https://github.com/swagger-api/swagger-ui/security/advisories/GHSA-qrmm-w75w-3wpx
2021-12-09 17:28:17 +01:00
Vladimir Gorej
b299be764f fix: introduce Error Boundaries to handle unexpected failures (#7671)
Two new components have been updated via plugin system: ErrorBoundary and Fallback.
These components can be overridden by user plugins.

Refs #7647
2021-11-25 13:47:22 +01:00
Vladimir Gorej
fb7e98a431 fix(servers): prevent UI crash when chaning Server with variables
Closes #7525
2021-11-04 16:27:27 +01:00