Skip to content

Instantly share code, notes, and snippets.

@magicmatatjahu
Created January 17, 2022 11:43
Show Gist options
  • Save magicmatatjahu/1b901ed3298af0b9d360210ebf6f0472 to your computer and use it in GitHub Desktop.
Save magicmatatjahu/1b901ed3298af0b9d360210ebf6f0472 to your computer and use it in GitHub Desktop.
AsyncAPI EDA Design & Documentation ecosystem update 1 Dec 2021 - 14 Jan 2022

AsyncAPI EDA Design & Documentation ecosystem update 1 Dec 2021 - 14 Jan 2022

I would like to do a update every 2 weeks for our repositories related to the EDA design as well as for the generation/creation of documentation for AsyncAPI, including:

This time, as an exception (related to the period to describe) I wanted to include updates from the whole December month to the 14th January.

Feel free to comment which repository I should consider to check in the next update and if you wanna help me with this please ping me :)

  • New Features:

    • Possibility to select given template as a base for new AsyncAPI doc. Thanks David Boyne 👏 You can choose template by clicking last item in the left nav image
    • From now user can change options for appropriate part of the Studio like Editor, or Template. To open Studio settings modal please click on the gear icon in the bottom left corner of the Studio. Atm you can choose if you want auto rendering of the template or you wanna (or not) save designed AsyncAPI doc to the localstorage image. More options will become available as the studio grows.
    • Studio supports circular references in the AsyncAPI Doc 🚀
    • We also improved performance and memory consumption of the parsing/validation process.
  • Opened PRs:

    • PR with integrating server-api with Studio is opened in the asyncapi/studio#229 That PR enables generating Generator's templates (atm only html-template and markdown-template) from the doc described in the Studio. We hope that it should be merged in the next days, due to problems in our infra.
    • POC showing functionality of the tabs/panels in the Studio in the asyncapi/studio#204 draft PR. We can move in that direction, so please be aware of such future developments. In short, PR allows you to open new tools and editors in panels/tabs familiar from popular IDEs like VSC. This is only a POC, so there are a lot of bugs there, please keep that in mind!
    • David Boyne created PR to show templates (mentioned in features section) of the AsyncAPI doc in the modal, not in the separate panel. You can check changes with preview here. We think that showing templates in separate panel decrease UX, so we decide to show them in the modal, to not hide other parts of the Studio.
    • Another PR opened by David Boyne - asyncapi/studio#215 with adding tooltips for navigation items to increase UX and accessibility.
  • Ideas/discussions/issues:

    • discussion about the future of Studio has been opened. A few people have already commented, but if you would like to comment yourself, you can still do so, we really need feedback from the community, especially people who use Studio for designing the AsyncAPI docs.
    • David Boyne needs your help about the next iteration of the Visualiser. You can comment in that issue asyncapi/studio#213
    • Sergio Moya has an idea to generate proper OG Metadatas (that metadatas including image which are showed when you share link in social media and other sites) for AsyncAPI doc when you share Studio with url or base64 paramaters, please check that asyncapi/studio#224 It's very interesting!
    • Another great idea from Sergio Moya - Open with Studio button for Markdown files described in the asyncapi/studio#218 You should be able to attach in the markdown file button which will open given AsyncAPI doc in the Studio.
    • We have feature request to create tool in the Studio for validating the schemas (especially message's payload). More information in the asyncapi/studio#200 issue.

No new features in the generator in terms of generating docs or EDA design. It's worth mentioning that the generator supports the newest versions of ParserJS, which support circular references in the schemas - important information, because Studio and React component also support them.

No new features in the html-template itself. You can find more info about changes in the look of generated sections in the react-component section. One important note: template supports circular references.

No new features in the markdown-template itself. Important note that we plan to release version 1.0.0 this week (January 17-21). Markdown template will render all things (together with circular references) from AsyncAPI doc, except discriminators.

  • New Features:

    • We introduced /generate path. As name suggest it integrates Generator tool. Atm we only supports html-template and markdown-template but in the near future we want to support all the templates in our organization. For shape of the request body please check OpenAPI spec. That path will be enabled in the Studio to generate templates from UI level.
    • We introduced also DockerFile and from now we will release new majore/minor/patch versions to the DockerHub in the asyncapi/server-api image.
  • Opened PRs:

    • We have opened PR with Helm chart with needed Kubernetes resources to setup server-api in the k8s cluster. We hope that PR will be merged in the next days.
    • Our new TSC member David Pereira created two PRs which will introduce /validate and /convert paths. I don't think so that I should describe what exactly these path will do :) Please check that PRs:

NOTE: Included changes only for next branch.

  • Changes:

    • branch has integrated gitpod config. This is helpful for creating live previews of changes for PR review. Thanks for contribution Samridhi-98 and pawlean!
    • Circular schemas are supported - asyncapi/asyncapi-react#487
    • Indentations in the schemas are fixed - asyncapi/asyncapi-react#509
    • Web-component doesn't fetch several times that same url in short period of time - asyncapi/asyncapi-react#511
    • Introduce scopes CSS classes. Very helpful when you have several TailwindCSS classes with different styling - asyncapi/asyncapi-react#493 Thanks for contribution kaiszybiak!
    • Small fixes like:
      • improved performance of the component
      • fixed source maps, atm TS source code is included in the each source map
      • from now bindings and extensions can have null or empty value
      • fixed security issues by updating dependencies
  • Opened PRs:

    • Add collapse button for nested subschemas in the Schema component (asyncapi/asyncapi-react#514) - the user will be able to open nested schemas with a single button
    • Make sidebar collapsable (asyncapi/asyncapi-react#516) - the user will be able to open/close the left navigation, for example in the HTML-template.

No new features in the cli in terms of generating docs or EDA design. Reminder: latest cli uses latest studio that you can open by asyncapi new --studio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment