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

WIP: Initial React rewrite #357

Merged
merged 243 commits into from
Mar 21, 2018
Merged

WIP: Initial React rewrite #357

merged 243 commits into from
Mar 21, 2018

Conversation

RomanHotsiy
Copy link
Member

@RomanHotsiy RomanHotsiy commented Oct 11, 2017

Do not merge
#327
Initial react rewrite.
When I started this I thought it will be just viewlayer rewrite but it appeared to be complete rewrite.

This is not yet in the alpha stage as there are a few things to implement before.

Some architecture decisions:

  • OpenAPI spec is parsed into tree-structure of ready-to-use by UI components
  • MobX as a state management
  • styled-components for css (still considering other solutions)

Known issues before alpha:

  • OpenAPI 2 compatibility layer (via conversion)
  • simple compatibility layer with the old Redoc.init and tag
  • sticky sidebar
  • read only properties are not filtered out from request samples
  • implement some options and deprecate others
  • Security Definitions component
  • Update docs

Before release:

  • security info for operations
  • tests
  • demo page with ability to try own spec
  • Search
  • move all constants from styles to theme
  • esm modules + ts typings
  • SSR support (store seriliazation/deserialization)
  • Lazy loading

I could probably have missed something so feel free to clarify here.

Copy link

@shenghu shenghu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to build a bundle. But it didn't finish after a long time.

package.json Outdated
"dev": "webpack-dashboard -- webpack-dev-server --hot",
"test": "jest",
"bundle": "webpack",
"bundle:prod": "webpack -p -env.prod",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"bundle:prod": "webpack -p -env.prod" should be "bundle:prod": "webpack -p --env.prod",

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I've noticed the same issue but haven't tried to fix it yet. Just CTRL+C worked just fine for me (bundle actually is built and emitted to dist folder, but webpack process is not terminated by some strange reason).

Would be great if you could investigate this!

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It hangs there trying to connect

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:9838/socket.io/?EIO=3&transport=polling&t=LyeIbN8&b64=1 +1ms

9838 is used by webpack-dashboard. But removing it from webpack.config.js/plugins, build process can complete.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shenghu thanks!

@RomanHotsiy RomanHotsiy merged commit d27e61a into master Mar 21, 2018
@RomanHotsiy RomanHotsiy deleted the react-rewrite branch March 21, 2018 15:50
@leonardehrenfried
Copy link
Contributor

Great work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants