Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to cope with bootstrap4 as surrounding framework for integration? #4574

Closed
jdillon opened this issue May 20, 2018 · 11 comments · Fixed by #5541
Closed

How to cope with bootstrap4 as surrounding framework for integration? #4574

jdillon opened this issue May 20, 2018 · 11 comments · Fixed by #5541

Comments

@jdillon
Copy link

jdillon commented May 20, 2018

How do allow embedding Swagger-UI, default theme (which I think is just fine) into a webapp which uses bootstrap4? Looks like classes conflict and the end result is that the Swagger-UI renders very very strangely. Its mostly okay but things like its endpoint detail layouts is totally messed up.

I'm really happy with the default theme for my use-case, but the webapp its inside of is bootstrap4 and its appears that things like "col" conflict and end up having the swagger display rendering very strangely.

monosnap 2018-05-20 15-56-22

Is there a simple solution to this?

@jdillon
Copy link
Author

jdillon commented May 20, 2018

FTR it mostly just works, and I really appreciate that, and I really hope I don't have to become an expert in react to fix this. If someone could point me in the right direction or some simple hack I'd really appreciate it.
:-)

@shockey
Copy link
Contributor

shockey commented May 21, 2018

Hmm, this is kinda tricky...

I wish you could do something like:

:not(.swagger-ui) * {
  /* bootstrap */
}

but alas, :not() doesn't support combinators.

This isn't so much a React thing as it is just a limitation of CSS - Bootstrap assumes it will be a first-class citizen on the page, and we just happen to use class names that collide.

This kind of thing is solved by Shadow DOM encapsulation, but that's still a ways off... so I don't think there's really a way for you to solve this on your end, besides manually identifying what's colliding and handwriting overriding CSS that straightens the UI out.

From the project's side, we can do two things:

  • solve this specifically by identifying the overlapping class names, and changing them
  • solve this generally by adding a build step that prefixes all of our css classes with something like swui- (this PostCSS plugin would do this automagically for us)

@shockey
Copy link
Contributor

shockey commented May 21, 2018

CC: #4460

@jdillon
Copy link
Author

jdillon commented May 21, 2018

thanks for the reply. Seems like a solution to prefix is probably gonna be the simplest and best bang-for-buck to avoid potential CSS class-name collisions with whatever framework might be used when embedding swagger-ui. You could do the other and identify overlapping class-names but thats gonna be very specific to bootstrap or whatever; so you might fix it for bootstrap but maybe some other framework would still have some problems. So using a prefix seems the most sane generally, though i'm no expert :-P CSS often causes my head to explode actually :-P

@rishacha
Copy link

Hi @shockey , postcss-class-prefix is no longer maintained. This seems like a better option. Although I need to figure out where I can add it ( perhaps in the webpack-*.config.js ). Can I open a PR?

P.S. : Also, I see a file called postcss.config.js. Is this fix already in place?

@shockey
Copy link
Contributor

shockey commented May 23, 2018

@rishacha, yeah, you should add the postcss-prefixer plugin to our postcss config file 😄 we do already have postcss, but it's only being used for autoprefixer.

be sure to ignore .swagger-ui if you open a PR for this! thanks!

@milushov
Copy link

@shockey @rishacha @jdillon
Hello, guys, any news? I have the same problem 😢

@ndbabb
Copy link

ndbabb commented Nov 25, 2018

I don't have a full accounting of CSS issues with bootstrap, but I was able to fix the main one by overriding the .col class on my SwaggerUI page like so:

.col { 
  width: auto;
}

@DeeDeeG
Copy link

DeeDeeG commented Feb 21, 2019

I'm having a similar problem using bootstrap and swagger-ui together.

@shockey, would it be of use to the project if someone went into the .scss source files of this repo, and prefixed all the styles manually? (It might break a lot of existing pull requests, or throw off downstream forks, I guess.)

I'd do that if it would be helpful.

@shockey
Copy link
Contributor

shockey commented Apr 5, 2019

@DeeDeeG, I'd prefer to systematically prefix things - doing it manually requires everyone who could possibly decide to contribute to know about the prefix, which worries me.

I'll say again - I'd also accept a PR that simply changes our col class to use a different name. That doesn't solve all the possible problems here, but if that's everyone's pain point today it's a good place to start.

@thierrydallacroce
Copy link
Contributor

Feedback on my PR appreciated.

shockey pushed a commit that referenced this issue Aug 21, 2019
)

* improvement: address Bootstrap conflict by removing our .col class (#4574)

* use `.parameters-col_description` selector in Cypress tests
edwinanto2003 added a commit to edwinanto2003/swagger-ui that referenced this issue Apr 26, 2020
* release: v3.20.1

* improve: showing showing server description in dropdown (via swagger-api#5015)

* Showing server description in dropdown

* Slight syntax improvements

* use template strings and ` - `

* housekeeping: update model wrapper selector in Selenium tests (via swagger-api#5064)

* fix: fall back to default configuration options in subtree resolver calls (via swagger-api#5063)

* fix: label models section as `Schemas` in OpenAPI 3 (via swagger-api#5065)

* fix: label models section `Schemas` in OpenAPI 3

* Update swos-63.js

* improve: OAuth2 UI and test suite (via swagger-api#5066)

* create `features` folder

* add base oauth2 server

* continue implementing OAuth tests

* WIP

* add password flow tests

* modify Password flow credential types

* remove query string credential type

* add test case for Authorization flow

* add specific Authorization value for Password flow test

* WIP

* fix linter issues

* release: v3.20.2

* housekeeping: test master branch builder trigger (via swagger-api#5076)

* improvement: add Schema/Model switching to ModelExample component (via swagger-api#5080)

* housekeeping: branding updates (via swagger-api#5084)

* new favicons

* lockfile

* update logo

* styling changes

* remove url-loader 10K limit

* improvement: generate default oauth2RedirectUrl based on page location (via swagger-api#5085)

* release: v3.20.3

* Update README.md

* housekeeping: change test name + comment (via swagger-api#5091)

* fix: `urls.primaryName` functionality regression (via swagger-api#5097)

* add tests

* compute index before triggering URL load

* bonus: improve urls topbar label

* release: v3.20.4

* housekeeping: happy new year! (via swagger-api#5102)

* Update LICENSE

* Update README.md

* housekeeping: fix typo in configuration anchor name (via swagger-api#5109)

* fix: only apply instance-strip transformer to schema errors (via swagger-api#5110)

* fix: Immutable property access pattern (via swagger-api#5112)

* fix: tag-level deep link escaping inconsistencies (via swagger-api#5117)

* add test cases

* update tag deeplinking implementation

* MOAR test updates

* update operation-tag.jsx

* improvement: render request body description as Markdown (via swagger-api#5078)

* improvement: show description fields in form-data request bodies (via swagger-api#5073)

* housekeeping: indicate index.html usage of deepLinking flag (via swagger-api#5118)

* improvement: add individual CSS classes to info items (via swagger-api#5051)

This makes it easier to style them individually or retrieve the
elements in user scripts.

* improvement: support Markdown in header descriptions (via swagger-api#5120)

* Added markdown for header descriptions as per specifications:

https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#header-object
which subclasses:
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#parameterObject

https://swagger.io/specification/#headerObject
which subclasses
https://swagger.io/specification/#parameterObject

* update headers.jsx

* Update headers.jsx

Fixing test error due to the `description` variable having been removed

* Update headers.jsx

* fix: non-typesafe spec selector (via swagger-api#5121)

* add failing tests

* fix things

* release: v3.20.5

* housekeeping(docs): typo in oauth2.md (via swagger-api#5124)

no PR too small!

* housekeeping: address `url-parse` vulnerability (via swagger-api#5130)

The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/npm:url-parse:20180731

* bug: parameter `allowEmptyValue` + `required` interactions (via swagger-api#5142)

* add failing tests
* standardize parameter keying
* validateParam test migrations
* migrate test cases to new pattern
* disambiguate name/in ordering in `body.body` test cases
* `name+in`=> `{in}.{name}`
* consider allowEmptyValue parameter inclusion in runtime validation
* use config object for all validateParam options
* drop isXml flag from validateParams

* housekeeping: add React compatibility issue to readme (via swagger-api#5141)

* add React compatibility issue
* Update README.md

* improvement(docker): avoid caching mounted json/yml/yaml assets (via swagger-api#5151)

* release: v3.20.6

* improvement(docker): smaller images via no-cache option (via swagger-api#5157)

* add no-cache option for smaller images

* move flag immediately after `apk`

adjusting to be as close to the example as possible: https://github.com/gliderlabs/docker-alpine/blob/master/docs/usage.md#disabling-cache

* fix: gracefully handle malformed global tags array in taggedOperations selector (via swagger-api#5159)

* fix: handle malformed global tags array in taggedOperations

* handle non-array global tags as well

* update test imports

* remove stray brackets

* fix: don't trigger `url` remote document load if `urls` is provided (via swagger-api#5161)

* fix: don't trigger `url` remote document load if `urls` is provided

* better test block title

* improvement: generate non-smart Markdown quotes (via swagger-api#5162)

* housekeeping: losslessly crush PNG images with pingo (via swagger-api#5158)

* fix: coerce multipart initial property values to string (via swagger-api#5166)

* coerce multipart initial property values to string

* add tests

* housekeeping: corresponding changes for swagger-api/swagger-editor#1935 (via swagger-api#5170)

* `schema` -> `structural`

* drop strip-instance transformer

* release: v3.20.7

* housekeeping: bump minimum lodash version (via swagger-api#5156)

* Update lodash

fix for Regular Expression Denial of Service:
https://snyk.io/vuln/SNYK-JS-LODASH-73639

* update lockfile

* fix: provide JSON editor for x-www-form-urlencoded bodies lacking properties (via swagger-api#5180)

* improvement: set `X-Requested-With` to prevent browser authentication dialog (via swagger-api#4934)

* improvement: operation path + summary overflow styling (via swagger-api#5184)

* improvement: operation path + summary overflow styling

* inject zero-width spaces for better path breaking

* migrate 4867 regression test to tolerate new ZWSPs

* rm `dev-helpers/doc.yaml`

* release: v3.20.8

* fix: gracefully handle non-string operation summaries (via swagger-api#5189)

* fix: sanitize URLs used for OAuth auth flow (via swagger-api#5190)

* fix: sanitize URLs used for OAuth auth flow

* embetter test case

* fix linter issue

* fix: type safety for operation summary handling (via swagger-api#5191)

* fix: gracefully handle non-string operation summaries

* use lodash for more summary type safety

* release: v3.20.9

* improve: subtree resolver batch handling (via swagger-api#5193)

* fix: prevent subtree paths from being queued more than once in a batch

* fix: clear subtree resolver errors by current path

* drop `List` import

* improvement: gracefully render malformed and empty requestBodies (via swagger-api#5208)

* feature: `swagger-ui-react` module (via swagger-api#5207)

* swagger-ui-react alpha.0

* alpha.1

* alpha.2

* alpha.3

* begin updating README

* alpha.4

* WIP: `displayOperationId` support

* move loading error readouts to BaseLayout

* add `url` prop

* export React component as default

* add interceptor support

* modify docs markup

* add `onComplete` prop

* add `spec` prop

* Update README.md

* alpha.6

* remove independent manifest; build releasable exclusively from template

* ensure dist is present; drop config field in manifest

* drop alpha field

this script is now able to release to npm!

* remove unused selector references

* Update README.md

* improvement(docker): gzip static files (via swagger-api#5199)

* release: v3.20.10

* housekeeping: use npmrc auth for React module publishing (via swagger-api#5210)

* fix: use npmrc auth for React module publishing

* revert removal

* feat(dummy-commit): trigger minor version release (via swagger-api#5211)

* release: v3.21.0

* fix: generate gzipped Docker assets at runtime (via swagger-api#5219)

* housekeeping: bump minimum Cypress version (via swagger-api#5233)

* Update Cypress version

* regenerate package-lock.json

* fix: Markdown styling nits and inconsistencies (via swagger-api#5235)

* bug: fix pre styles for block code

* bug: Fix badge padding

* create Markdown-specific stylesheet

* housekeeping: remove react-addons-perf dependency (via swagger-api#5229)

* Remove react-addons-perf dependency

* update lockfile

* include ReactPerf in non-production builds

* improvement: support GFM table syntax in OpenAPI 3.0 (via swagger-api#5224)

* improvement: expose system object in swagger-ui-react's onComplete callback (via swagger-api#5221)

* expose swagger object so it can be controlled in the onComplete function

* docs: swagger-ui-react onComplete system argument

* housekeeping: fix typo in README (via swagger-api#5246)

* improvement: expose docExpansion as a prop in swagger-ui-react (via swagger-api#5242)

* improvement: expose docExpansion setting as a prop in swagger-ui-react

* Update README.md

* Update index.js

* Update README.md

* Update README.md

* feature: add `withCredentials` configuration key (via swagger-api#5149)

* Add the withCredentials configuration key

It enables passing credentials in CORS requests. e.g. Cookies and
Authorization headers.

* Improve withCredentials documentation

* Add unit tests for the withCredentials config

* Update configuration.md

* Update configuration.md

* only set `withCredentials` Fetch flag if the config value is truthy

there are some workarounds in the wild today that involve setting `withCredentials` on `system.fn.fetch` directly. 

this approach avoids mangling those existing workarounds!

* add more test cases

* Update configs-wrap-actions.js

* Update index.js

* feat: dummy commit for minor version bump (via swagger-api#5256)

in be72c29, I mistakenly wrote `feature` instead of `feat`, which isn't in line with Angular commit conventions.

* release: v3.22.0 (via swagger-api#5257)

* dummy: empty commit from Jenkins

* housekeeping: make release note generator more flexible (via swagger-api#5266)

* improve: error message when rendering XML example (via swagger-api#5253)

The original message gave no clues as to the underlying cause, which is that the element name needs to be specified explicitly (using xml/name) if it can't be determined from a $ref.

* fix: refuse to render non-string Markdown field values (via swagger-api#5295)

* housekeeping: allow overriding `swagger-ui-react` version` (via swagger-api#5300)

...by setting the `REACT_FLAVOR_VERSION_IDENTIFIER` env var

* release: v3.22.0

* housekeeping: force release-it to base version bumps on package manifest (via swagger-api#5301)

* release: v3.22.1

* improvement: OAS3 $ref friendly-name regex in model.jsx (via swagger-api#5334)

* improvement: relax schema description styling so Markdown can be effective (via swagger-api#5340)

* improvement: add `isShown` check to <ModelCollapse />'s prop `expanded` logic (via swagger-api#5331)

* security: CVE-2018-20834 (via swagger-api#5368)

* bump minimum `bundlesize` version

* bump `node-sass`

* bump webpack + webpack-dev-server; update lockfile

* release: v3.22.2

* release: v3.22.3

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* feat: Multiple Examples for OpenAPI 3 Parameters, Request Bodies, and Responses (via swagger-api#5427)

* add opt-in Prettier config

* remove legacy `examples` implementation

* create ExamplesSelect

* support `Response.examples` in OpenAPI 3

* create response controls group

* prettier reformat

* prepare to break up Parameters

* reunify Parameters and OAS3 Parameters

* Parameter Examples

* Example component

* handle parameter value stringification correctly

* FOR REVIEW: add prop for controlling Select

* use regular header for param examples in Try-It-Out

* manage active examples member via Redux

* Request Body Try-It-Out examples

* remove special Response description styling

* omit Example value display in Try-It-Out

* support disabled text inputs in JsonSchemaForm

* Example.omitValue => Example.showValue

* ExamplesSelectValueRetainer

* styling for disabled inputs

* remove console.log

* support "Modified Values" in ExamplesSelect

* remove Examples component
(wasn't used anywhere)

* use ParameterRow.getParamKey for active examples member keying

* split-rendering of examples in ParameterRow

* send disabled prop to JsonSchemaForm

* use content type to key request body active examples members

* remove debugger

* rewire RequestBodyEditor to be a controlled component

REVIEW: does this have perf implications?

* trigger synthetic onSelect events in ExamplesSelect

* prettier updates

* remove outdated Examples usage in RequestBody

* don't handle examples changes in ESVR

* make RequestBodyEditor semi-controlled

* don't default to an empty Map for request bodies

* add namespaceKey to ESVR for state mgmt

* don't key RequestBody activeExampleKeys on media type

* tweak ESVR isModifiedValueSelected calculation

* add trace class to ExamplesSelect

* remove usage of ESVR.currentNamespace

* reset to first example if currentExampleKey is invalid

* add default values to RequestBody rendering

* stringify things in ESVR

* avoid null select value (silences React warning)

* detect user inputs that match any examples member's value

* add trace class for json-schema-array

* shallowly convert namespace state, to preserve Immutable stucts in state

* stringify RBE values; don't trim JSON in editor

* match user input to an example when non-primitives are expressed in state as strings

* update Cypress

* don't apply sample values in JsonSchema_Object

* support disabling all JsonSchemaForm subcomponents

* Core tests

* style changes to accomodate Examples

* fix version-checking error in Response

* disable SCU for Responses

* don't stringify Select values

* ModelExample: default to Model tab if no example is available; provide a default no example message

* don't trim JSON ParamBody inputs

* read directly from 2.0 Response.schema instead of inferring a value

* show current Example information in RequestBody

* show label for Examples dropdown by default

* rework Response content ordering

* style disabled textareas like other read-only blocks

* meta: fix sourcemaps

* refactor ESVR setNameForNamespace

* protect second half of ternary expession

* cypress: `select.examples-select` => `.examples-select > select`

* clarify ModelExample.componentWillReceiveProps

* add gates/defaults to prevent issues in very bare-boned documents

* fix test block organization problem

* simplify RequestBodyEditor interface

* linter fixes

* prettier updates

* use plugin system for new components

* move ME Cypress helpers to other file

* release: v3.23.0

* housekeeping add configuration for Lock Threads bot (via swagger-api#5437)

* Create lock.yml

* add trace label to locked issues

* housekeeping: use double newline in lock message (via swagger-api#5438)

* housekeeping: silence lock bot for initial wave of actions (swagger-api#5439)

* housekeeping: silence lock bot for initial wave of actions

* Update lock.yml

* housekeeping: refactor color variable names and values  (via swagger-api#5420)

* housekeeping: update color variable names and values (via swagger-api#5337)

* Update operation colors, abstracted colors from element specific variables

* Removed colors.scss

* Typo ⚾

* Undefined var fix

* revert operation color changes (for now)

* fix whitespace

* housekeeping: address inconsistently truncated JS asset responses within Cypress tests (via swagger-api#5445)

* add Cypress error trace

* Update package.json

* Update webpack-hot-dev-server.config.js

* Update index.js

* Update index.js

* housekeeping: cypress standalone failures (via swagger-api#5446)

* webpack.dist-style.config.js -> webpack-dist-style.config.js

* correctly generate stylesheets in dev server

* attempt to recover from missing StandalonePlugin in Cypress runner

* housekeeping(deps-dev): bump open from 0.0.5 to 6.0.0 (via swagger-api#5449)

* housekeeping: upgrade to babel@7 (via swagger-api#5450)

* Babel 7

* preserve module output; straighten out ES/CJS syntax

* add webpack TODOs

* remove unused Babel modules

* Update index.js

* install @babel/register

* housekeeping: upgrade to webpack@4 (via swagger-api#5454)

* build new core webpack config

* fix exports in Webpack; use ESM syntax throughout

* add bundle config

* add standalone config

* add style config

* prettier...

* add dev config

* delete legacy webpack scripts

* rewire npm scripts to use new webpack configs

* cache babel-loader results

* fix e2e dev servers

* update core Webpack modules

* update loaders to latest

* remove unused loaders

* update Webpack plugins

* add mode flags to Webpack configs

* remove plugin invocations that are now production-standard in v4

* update webpack-cli

* add webpack perf size limit flags

* replace ExtractText with MiniCssExtract + IgnoreAssets

* UglifyJsPlugin -> TerserPlugin

* fix PostCSS processing

* enable Terser sourcemaps

* webpack/style -> webpack/stylesheets

* housekeeping: migrate to release-it v11 (via swagger-api#5335)

* housekeeping: migrate to release-it v11

* install `source-map-support`

* bug: enum Select crashes when selecting the empty value (via swagger-api#5463)

* add failing tests

* fix property access

* @babel/plugin-proposal-optional-chaining

* fix: Swagger 2.0 `Response.examples` (via swagger-api#5464)

* fix: Swagger 2.0 `Response.examples`, again (via swagger-api#5465)

* fix: Swagger 2.0 `Response.examples`

* stringify results

* release: v3.23.1

* housekeeping: fail React flavor release if a step fails (via swagger-api#5466)

* housekeeping: fail React flavor release if a step fails

* Update run.sh

* housekeeping(flavor-react): point babel to root `.babelrc` (via swagger-api#5467)

* housekeeping: npm audit resolutions (via swagger-api#5457)

* add `security-audit` script

* npm audit fix

* remove nyc

* nightwatch@1

this breaks the test suite, but it appears to have already regressed. leaving it for another day, TODO: open a backlog ticket

* add `security-audit` script

* disable mocha exclusivity

* update package-lock.json

* cypress@3.4.0

* `npm audit fix`

* @release-it/conventional-changelog@1.1.0

* release-it@12

* Change Swagger-UI -> Swagger UI in docs (swagger-api#5479)

* Change Swagger-UI -> Swagger UI in docs

* Changed back to SwaggerUI in places that refer to JS construct

* housekeeping: configure Renovate (via swagger-api#5481)

* chore(deps): add renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* Update renovate.json

* housekeeping(deps): deep-extend@0.6.0 (via swagger-api#5483)

* Allow this to run in a non-root enviroment

* fix: use `null` as a notSetValue for examplesForMediaType (via swagger-api#5503)

* fix: use null as a notSetValue for examplesForMediaType

fixes swagger-api#5455

* tests!

* fix: empty ModelExample rendering in a Response w/o `content`  (via swagger-api#5504)

* add failing test

* use falsy notSetValue for oas3SchemaForContentType

* release: v3.23.2

* fix: move `@babel/runtime-corejs2` to production dependencies (via swagger-api#5508)

* release: v3.23.3

* housekeeping(dev-deps): babel monorepo@7.5.5 (via swagger-api#5487)

* housekeeping(dev-deps): babel monorepo@7.5.5

* Update renovate.json

* housekeeping: more `npm audit` resolutions (via swagger-api#5509)

* move `@babel/runtime-corejs2` to production dependencies

* `npm audit fix`

* housekeeping: `@kyleshockey/js-yaml` -> `js-yaml` (via swagger-api#5511)

* `@kyleshockey/js-yaml` -> `js-yaml`

* externalize `esprima`

* housekeeping: create `.github/SECURITY.md` (via swagger-api#5514)

* housekeeping: non-breaking dependency updates (via swagger-api#5515)

* non-breaking dependency updates

* eslint updates

* release: v3.23.4

* Grammar syntax correction (swagger-api#5512)

Tense correction and clarity on line 44.

* fix: remove problematic Markdown optimization (via swagger-api#5520)

* release: v3.23.5

* housekeeping: copy Jenkins release flags to `.release-it.json` (via swagger-api#5529)

* housekeeping(deps): redux-immutable@3.1.0 (via swagger-api#5484)

* fix: remove `.col` class that causes collision with Bootstrap (via swagger-api#5541)

* improvement: address Bootstrap conflict by removing our .col class (swagger-api#4574)

* use `.parameters-col_description` selector in Cypress tests

* fix: React warning related to "true" used as boolean (via swagger-api#5497)

This should fix this warning seen in the console when using `swagger-ui-react`:

```
Warning: Received the string `true` for the boolean attribute `readOnly`. Although this works, it will not work as expected if you pass the string "false". Did you mean readOnly={true}?
    in textarea (created by Curl)
    in div (created by Curl)
    in div (created by Curl)
    in Curl (created by LiveResponse)
    in div (created by LiveResponse)
    in LiveResponse (created by Responses)
```

I did not test this change because it's trivial and there is no behavioural change here, React treats non-empty string attributes as `true`.

* housekeeping: MOAR badges (via swagger-api#5494)

* MOAR badges

* Update README.md

* Update README.md

* Update README.md

* housekeeping(deps): update nginx docker tag to v1.17 (via swagger-api#5485)

* housekeeping: automerge non-major devDep updates (via swagger-api#5547)

* housekeeping(dev-deps): autoprefixer@8.6.5 (via swagger-api#5486)

* housekeeping(dev-deps): chromedriver@2.46.0

* housekeeping(dev-deps): css-loader@3.2.0

* housekeeping(dev-deps): deepmerge@2.2.1

* housekeeping(dev-deps): file-loader@4.2.0

* housekeeping(dev-deps): jsdom@11.12.0

* housekeeping(dev-deps): less@3.10.3

* housekeeping(dev-deps): mini-css-extract-plugin@^0.8.0

* housekeeping(dev-deps): mocha@5.2.0

* housekeeping(dev-deps): nightwatch@1.2.1

* housekeeping(dev-deps): release-it@12.3.5

* housekeeping(dev-deps): rimraf@2.7.1

* housekeeping(dev-deps): sass-loader@7.3.1

* housekeeping(dev-deps): selenium-server-standalone-jar@3.141.59

* housekeeping(dev-deps): source-map-support@0.5.13

* housekeeping(dev-deps): webpack-cli@3.3.7

* housekeeping(dev-deps): webpack-dev-server@3.8.0

* housekeeping(dev-deps): webpack@4.39.2 (via swagger-api#5562)

* release: v3.23.6

* docs: clarify that preauthorizeApiKey works for OAS3 Bearer auth too (via swagger-api#5566)

* housekeeping(dev-deps): babel-plugin-transform-react-remove-prop-types@0.4.24

* feature: support for `Parameter.content` (swagger-api#5571)

* add `getParameterSchema` OAS helper

* use `Parameter.content.[firstKey].schema` as schema value when present

* `newValue` -> `initialValue`

* make `paramWithMeta` a const

* add trailing comma to `swagger2SchemaKeys`

* refactor `helpers` to a folder

* deprecate `src/core/utils.js` in favor of `src/core/helpers/`

* support `Parameter.content.[mediaType].schema` in validateParam

* reject `null` as an OAS3 object value

* expose Fetch errors in the browser console

* generate ParameterRow default values based on `content` values

* add tests for `getParameterSchema`

* remove debugger statement

* remove debugger statement

* don't apply `generatedSampleValue`s to parameters with `examples`

* remove extra semi

* disable JSON check in parameter runtime validation

* stringify JsonSchema_object textarea values

* add Cypress tests

* swagger-client@3.9.4

* release: v3.23.7

* fix: 2.0 object parameter validation (swagger-api#5583)

* release: v3.23.8

* improvement: `online.swagger.io` -> `validator.swagger.io` (swagger-api#5599)

* release: v3.23.9

* housekeeping: reorganize and rewire Mocha tests (swagger-api#5600)

* move Mocha-run tests to `test/mocha`

* fix relative paths

* fix JSX test paths

* update stagnated JSX tests

* `test/setup.js` -> `test/mocha/setup.js`

* use regex+globstar for test matching

* remove `console.log`

* fix: <Select disabled> for `type: string` + `enum` schemas (swagger-api#5601)

* fix: pass `disabled` through JsonSchemaForm – JsonSchema_string – Select

* migrate 5452 regression test

* fix: accept string-represented values in required array runtime validation (swagger-api#5609)

* rename `listCheck` -> `arrayListCheck`

* allow non-empty strings to quality a required array value

* release: v3.23.10

* fix: mitigate "sequential @import chaining" vulnerability (swagger-api#5616)

* `test/e2e-cypress/tests/features/xss/` -> `test/e2e-cypress/tests/security`

* add tests

* filter <style> tags out of Markdown fields

* initialize OAuth inputs without applying `value` attribute

* release: v3.23.11

* Delete CONTRIBUTING.md (swagger-api#5619)

Switching to the general Swagger CONTRIBUTING.md file.

* fix: `parameterMacro` functionality for OAS3 (via swagger-api#5617)

* swagger-api#5282 - Correct parameterMacro for OAS3

* Update parameter-row.jsx

* housekeeping: change git clone URL (swagger-api#5612)

When `git clone` -ing from github, `https` URLs are (as far as I know) functionally equivalent yet less error prone.

* housekeeping(deps): @braintree/sanitize-url v3 (swagger-api#5563)

* housekeeping(dev-deps): babel monorepo

* housekeeping(dev-deps): json-server@0.15.1

* housekeeping(dev-deps): nightwatch@1.2.4

* housekeeping(dev-deps): release-it@12.4.1

* housekeeping(dev-deps): webpack-cli@3.3.9

* housekeeping(dev-deps): webpack-dev-server@3.8.1

* housekeeping(dev-deps): webpack@4.41.0

* housekeeping(deps): dompurify v2 (swagger-api#5634)

* housekeeping: `npm audit` concerns (swagger-api#5640)

* housekeeping: document Docker `OAUTH2_REDIRECT_URL` option (swagger-api#5641)

* feat: add PKCE support for OAuth2 Authorization Code flows (swagger-api#5361)

* Add PKCE support.

* Fix tests

* Update oauth2.md

* Rename usePkce

* Fix the BrokenComponent error

* Update oauth2.md

* Remove isCode variable. Remove uuid4 dependency.

* Remove utils functions

* Import crypto

* Fix tests

* Fix the tests

* Cleanup

* Fix code_challenge generation

* Move code challenge and verifier to utils for mocks. Update tests.

* Mock the PKCE methods in the utils file properly.

* Add missing expect

* use target-method spies

* Add comments to explain test values.

* Get rid of jsrsasign.

* improvement: add `<title>` tag to oauth2-redirect.html (swagger-api#5644)

* Update oauth2-redirect.html

Add <title> tag to page

* Update oauth2-redirect.html

* housekeeping: add homepage URL to package.json (swagger-api#5652)

can be useful for folks looking at the file after they've downloaded it.

* housekeeping: use HTTPS links in README.md (swagger-api#5651)

* fix(validateParam): validate JSON parameter values + support `Parameter.content` (swagger-api#5657)

* improve(getParameterSchema): ParameterSchemaDescriptor pattern

* chore: update usage of `getParameterSchema`

* consider `Parameter.content` media type when validating JSON values

* fix: overweight dependencies in PKCE implementation (swagger-api#5658)

* release: v3.24.0

* fix: code highlight styles are now only applied `pre.microlight` (swagger-api#5673)

* patch(swagger-api#5672): code highlight styles are now only applied to pre blocks that have the class pre.microlight

* fixed pre style appied to .request-url

* fixed response-headers and request-duration pre blocks

* made pre.microlight class as per review

* added microlight class to appropriate pre and added tests

* housekeeping: `npm audit fix` (swagger-api#5681)

* housekeeping(deps): redux v4 (swagger-api#5569)

* housekeeping(dev-deps): babel monorepo (swagger-api#5682)

* housekeeping(dev-deps): cypress@3.6.0 (swagger-api#5683)

* housekeeping(deps): redux-immutable v4 (swagger-api#5639)

* release: v3.24.1

* housekeeping: revert to redux@3 (swagger-api#5686)

This reverts commit bcf9eb7.

* release: v3.24.2

* housekeeping(dev-deps): eslint-plugin-react@7.16.0

* housekeeping(dev-deps): node-sass@4.13.0

* housekeeping(dev-deps): npm-audit-ci-wrapper@2.4.1

* housekeeping(dev-deps): release-it@12.4.3

* housekeeping(dev-deps): source-map-support@0.5.16

* housekeeping(dev-deps): url-loader@2.2.0

* housekeeping(dev-deps): webpack-cli@3.3.10

* housekeeping(dev-deps): webpack-dev-server@3.9.0

* housekeeping(dev-deps): webpack@4.41.2

* housekeeping: fix logo size (swagger-api#5702)

* housekeeping: `npm audit fix` (swagger-api#5718)

* release: v3.24.3

* housekeeping: `npm audit fix` (swagger-api#5772)

* housekeeping(docs): https path for unpkg link (swagger-api#5769)

Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* build(deps): bump lodash-es from 4.17.11 to 4.17.15 (swagger-api#5764)

Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.11 to 4.17.15.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.11...4.17.15)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* feat(swagger-ui-react): `defaultModelExpandDepth` and `plugins` props (swagger-api#5594)

* Add plugins as React prop

* Add defaultModelExpandDepth as React prop

* Add documentation re: defaultModelExpandDepth and plugins props

* Fetched latest and rebased on that

* add on-mount-only warning messages to new options

Co-authored-by: Todd Lemoine <43755148+tlemoine-jama@users.noreply.github.com>
Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* housekeeping: 2️⃣0️⃣2️⃣0️⃣ (swagger-api#5773)

* happy new year!

* Update LICENSE

* Use official apache 2.0 license text (swagger-api#5470)

* Use official license text

* Update LICENSE

Co-authored-by: Ron <ron@swagger.io>

* Update README.md

* housekeeping: fix `npm run lint` and `npm test` on Windows (swagger-api#5737)

Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* improvement: use type 'password' instead of text for client secret (swagger-api#5262)

Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* improvement: clear auth information from memory when logging out (swagger-api#5316)

* clears authentications when logout is clicked

* tests the headers sent in the network request

* adds test for multiple api keys

* refactors tests to extract common uses

* correct test message description

Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* housekeeping: `npm audit fix` (swagger-api#5805)

* release: v3.25.0

* No more IE11

* docs: update prerequisites for development (swagger-api#5902)

* improvement: `showCommonExtensions` support for OAS3 parameters (swagger-api#5901)

Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* improvement: render OAS3 parameter type formats (swagger-api#5796)

* Feature: Render OAS3 parameter type formats

* Add more test cases to parameter-row

* Update test/mocha/components/parameter-row.jsx

Co-Authored-By: Helen Kosova <hkosova@users.noreply.github.com>

* Update src/core/components/parameter-row.jsx

Co-authored-by: Helen Kosova <hkosova@users.noreply.github.com>
Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* housekeeping(deps): @braintree/sanitize-url v4 (swagger-api#5694)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: kyle shockey <kyle.shockey1@gmail.com>

* housekeeping(deps): reselect v4 (swagger-api#5696)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* housekeeping: add static distribution file documentation (swagger-api#5095)

Co-authored-by: kyle shockey <kyle.shockey1@gmail.com>

* improvement: add isShownKey prop to Operation to allow overriding (swagger-api#5196)

* Added optional isShownKey prop to Componenent to allow overriding

* Removed unneccasry  before is isShwonKey

* Added PropTypes to isShownKey

* Added isShownKey to <OperationWrapper/> and removed it from <Operation />

* Removed isShwonKey prop it from <Operation />

* revert package-lock.json

Co-authored-by: kyle shockey <kyleshockey@gmail.com>

* housekeeping(dev-deps): cypress@3.8.3

* Fix: swagger-api#5669 online validator badge (swagger-api#5909)

* fix: enable online validator badge

since online validator badge now can handle OAS3 specs

* eslint-plugin-import@2.20.1

* eslint-plugin-react@7.19.0

* bug: expected PropType in Model ImmutablePureComponent should be a map instead of OrderedMap (swagger-api#5921)

* bug: expanding model when query param showExtensions=true exists

* housekeeping(dev-deps): file-loader@4.3.0

* housekeeping(dev-deps): http-server@^0.12.0

* housekeeping(dev-deps): json-merger@1.1.2 (swagger-api#5926)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* improvement: do not require basic password in UI (swagger-api#5812)

* Fix basic-auth.jsx: do not require password in UI

password is not PropTypes.string.isRequired, but the markup wrongly makes it mandatory

* Do not require password input in http-auth.jsx

This is used by the Authorize modal. Not sure when the similar code from basic-auth.jsx is used.

Co-authored-by: kyle shockey <kyle.shockey1@gmail.com>

* support for supportedSubmitMethods property in react component (swagger-api#5376)

* support for supportedSubmitMethods property in react component

* update react README

Co-authored-by: Radek <radek.miazio@skysanner.net>
Co-authored-by: kyle shockey <kyle.shockey1@gmail.com>

* fix(docker-image): send relative HTTP 301s from within container (swagger-api#5409)

Co-authored-by: kyle shockey <kyle.shockey1@gmail.com>

* housekeeping: prevent log warning for missing getComponent in production

This is a force-pushed squash of two PR merges (swagger-api#5919, swagger-api#5940) that were
formerly present on master as individual commits.

Co-Authored-By: kyle shockey <kyleshockey@gmail.com>

* housekeeping: `npm audit fix` (swagger-api#5948)

* prevent log warning for missing getComponent in production

eslint-plugin-react@7.19.0

* ft: new optional config parameter for getComponent

* Update src/core/plugins/view/root-injects.jsx

Co-Authored-By: kyle shockey <kyleshockey@gmail.com>

* Update src/core/plugins/view/root-injects.jsx

Co-Authored-By: kyle shockey <kyleshockey@gmail.com>

* Update src/core/plugins/view/root-injects.jsx

Co-Authored-By: kyle shockey <kyleshockey@gmail.com>

* Update src/core/json-schema-components.jsx

Co-Authored-By: kyle shockey <kyleshockey@gmail.com>

* prevent log warning for missing getComponent in production

* `npm audit fix`

* `npm install --save-dev chromedriver@80.0.1`

* `npm audit fix`

* update cypress

* Revert "update cypress"

This reverts commit c0404d4.

Co-authored-by: Timothy Lai <timothy.lai@gmail.com>
Co-authored-by: Tim Lai <tim-lai@users.noreply.github.com>
Co-authored-by: Kyle Shockey <shockey@users.noreply.github.com>

* docs: update plugin api component for failSilently (swagger-api#5953)

* housekeeping: add missing conventional-changelog devDeps (swagger-api#5975)

Co-authored-by: Kyle Shockey <shockey@users.noreply.github.com>

* housekeeping: revert @release-it/conventional-changelog version (swagger-api#5976)

Co-authored-by: Kyle Shockey <shockey@users.noreply.github.com>

* release: v3.25.1

Co-authored-by: swaggerhub-bot <sh-devops@smartbear.com>
Co-authored-by: dersvenhesse <dersvenhesse@users.noreply.github.com>
Co-authored-by: kyle <shockey@users.noreply.github.com>
Co-authored-by: Ron <ron@swagger.io>
Co-authored-by: Jun Kuriyama <kuriyama@s2factory.co.jp>
Co-authored-by: Nurbol Makashov <makashov92@gmail.com>
Co-authored-by: mirabilos <tg@mirbsd.org>
Co-authored-by: John Hart <john.hart@vertexinc.com>
Co-authored-by: Ullrich Schäfer <hi+github@ullrich.is>
Co-authored-by: Helder Sepulveda <heldersepu@gmail.com>
Co-authored-by: Glen Schrader <gschrader@users.noreply.github.com>
Co-authored-by: Segev Finer <segev208@gmail.com>
Co-authored-by: Drew Freyling <drew.freyling@gmail.com>
Co-authored-by: dalbrx-forcam <david.albrecht@forcam.com>
Co-authored-by: Yann Odeyer <yodeyer@users.noreply.github.com>
Co-authored-by: Helen Kosova <hkosova@users.noreply.github.com>
Co-authored-by: Zhang Yi Jiang <mediumdeviation@gmail.com>
Co-authored-by: Peter Goldthorp <peter@goldthorp.com>
Co-authored-by: Brian Johnson <brian.johnson@takehiko.net>
Co-authored-by: flacki <frank.schippert@gmail.com>
Co-authored-by: Laurence Hudson <40167760+laurence-hudson-mindfoundry@users.noreply.github.com>
Co-authored-by: Alan Wessman <alanyst@gmail.com>
Co-authored-by: geraldglynn <gerald.glynn@smartbear.com>
Co-authored-by: M-Vainauskas <mindaugas.vainauskas@smartbear.com>
Co-authored-by: Jonathan Parrilla <jonathan.parrilla@smartbear.com>
Co-authored-by: Rody-Kirwan <35065958+Rody-Kirwan@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Lars Kappert <lars@webpro.nl>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jens Reimann <jreimann@redhat.com>
Co-authored-by: Ryan Stephen <emailryanstephen@gmail.com>
Co-authored-by: thierrydallacroce <thierry.dallacroce@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Matt Traynham <skitch920@gmail.com>
Co-authored-by: Fergus McDowall <fergusmcdowall@gmail.com>
Co-authored-by: poveilleux <poveilleux@users.noreply.github.com>
Co-authored-by: oscar.lofwenhamn <44643697+oscarlofwenhamn@users.noreply.github.com>
Co-authored-by: Christian Oliff <christianoliff@yahoo.com>
Co-authored-by: Jamie Peabody <jamie.peabody@gmail.com>
Co-authored-by: kyle shockey <kyle.shockey1@gmail.com>
Co-authored-by: Daniel Ruf <827205+DanielRuf@users.noreply.github.com>
Co-authored-by: Roman Soldatow <Redor@users.noreply.github.com>
Co-authored-by: kyle shockey <kyleshockey@gmail.com>
Co-authored-by: Peter Mooney <44618217+pmooney-jama@users.noreply.github.com>
Co-authored-by: Todd Lemoine <43755148+tlemoine-jama@users.noreply.github.com>
Co-authored-by: Marian Bäuerle <mbaeuerle@users.noreply.github.com>
Co-authored-by: Rondinelly <rondinelly-ribeiro@outlook.com>
Co-authored-by: Simon Legg <leggsimon@gmail.com>
Co-authored-by: Tim Lai <tim-lai@users.noreply.github.com>
Co-authored-by: Adam Jones <jones_adam@rocketmail.com>
Co-authored-by: Dina Berry <41597107+diberry@users.noreply.github.com>
Co-authored-by: Simran <Simran-B@users.noreply.github.com>
Co-authored-by: MoOmEeN <moomeen@gmail.com>
Co-authored-by: Radek <radek.miazio@skysanner.net>
Co-authored-by: Siby Augustine <sibyaugustine93@gmail.com>
Co-authored-by: Timothy Lai <timothy.lai@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants