asyncapi / shape-up-process

This repo contains pitches and the current cycle bets. More info about the Shape Up process: https://basecamp.com/shapeup
https://shapeup.asyncapi.io
11 stars 8 forks source link

Integrate the React renderer into the generator #35

Closed jonaslagoni closed 3 years ago

jonaslagoni commented 3 years ago

It has to be backward compatible meaning that template configs should have an added template type where default (if not is defined) to Nunjucks.

asyncapi-bot commented 3 years ago

Hey! You've labeled this issue as a Scope. Remember you can use the following command to inform about its progress:

/progress <percentage> [message]

or

/progress <percentage>

A mutiline message.
It supports **Markdown**.
Example:
/progress 40 We're still figuring out how to implement this. We have an idea but it is not yet confirmed it will work.
/progress 50

A few notes:

* We got this figured out :tada:
* We're going to use [this library](#link-to-website) to avoid losing time implementing this algorithm.
* We decided to go for the quickest solution and will improve it if we got time at the end of the cycle.

:weight_lifting_woman: See the progress on the Shape Up Dashboard.

jonaslagoni commented 3 years ago

/progress 5 Started figuring out how to integrate the react SDK into the generator.

jonaslagoni commented 3 years ago

/progress 55 Finished getting an overview on how to integrate react into the generator and refactored generator code to support multiple render engines while being backwards compatible. Waiting for the react SDK to finish before integrating the rest and creating tests.

jonaslagoni commented 3 years ago

/progress 65 Managed to successfully integrate the current react SDK and create a small test template. I also managed to get debugging (with vscode) to work where you could place breakpoints inside the react code and get triggered when you ran the generator. Still need to simplify the approach if possible to make it as smooth as possible for template owners.

jonaslagoni commented 3 years ago

/progress 70 Tried to solve some dependency issues using rollup which actually seems to work perfect for our scenario (i.e. bundle dependencies for each template file so we don't dictate where reusable components should be placed). Basically it is just a fancy wrapper for babel which minimizes some implementations from our side. This also solved some issues I had with debugging not triggering breakpoints (dont know why tbh, since its babel underneath, might be some timing issues. Gonna keep an eye out for it).

jonaslagoni commented 3 years ago

/progress 75 Tasks solved:

Next: Adapt the authoring.md docs to include react. Create tests for the transpiler code. Docs for the SDK (which are generated with jsdoc) looks weird and needs to be fixed somehow.

jonaslagoni commented 3 years ago

/progress 90 Adapted authoring.md, added verification tests to generator, added transpiler tests, fixed docs for both generator and react SDK. Looks like it is about ready for a final review

magicmatatjahu commented 3 years ago

/progress 100 Done by https://github.com/asyncapi/generator/commit/fb6b41614a97f74b5cf3e507855513a8ef630031 commit