---
type: "article"
title: "🎉 SonarCloud, Parser improvements, hot discussions, and more"
summary: "We enabled SonarCloud for the most critical AsyncAPI tools that are reaching or already reached 1.0.0 release."
newsletter: "AsyncAPI Initiative"
newsletter_handle: "asyncapi-initiative"
newsletter_url: "https://usecommune.com/n/asyncapi-initiative"
author: "Thulisile Sibanda (@thulieblack)"
published: "2020-07-13T18:00:00.000Z"
canonical_url: "https://usecommune.com/n/asyncapi-initiative/a/sonarcloud-parser-improvements-hot-discussions-and-more"
markdown_url: "https://usecommune.com/n/asyncapi-initiative/a/sonarcloud-parser-improvements-hot-discussions-and-more.md"
chat_url: "https://usecommune.com/n/asyncapi-initiative/a/sonarcloud-parser-improvements-hot-discussions-and-more/chat"
source_url: "http://eepurl.com/g99UDT"
body_source: "imported"
likes: 0
replies: 0
body_words: 874
---

# 🎉 SonarCloud, Parser improvements, hot discussions, and more

[View this email in your browser](https://mailchi.mp/20e7b06ffd14/sonarcloud-parser-improvements-hot-discussions-and-more?e=[UNIQID])

![](https://gallery.mailchimp.com/3cdae6aed726d2e7490aec739/images/3205a7f3-01ee-4125-9e29-cb7ef00dbd1a.png)

![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/images/819aae29-93f9-4efa-b035-98f0a5ade417.jpg)

## **SonarCloud**

We enabled [SonarCloud](https://sonarcloud.io) for the most critical AsyncAPI tools that are reaching or already reached 1.0.0 release. Luckily this amazing software is available for free for open-source projects.

 1.0.0 release is something serious, and we wanted to make sure that we have an automated way of checking the code quality and security. Now every pull request is validated for the following projects:

- Generator
- Parser and custom schema parsers for OpenAPI schema and RAML data types

The quality of those projects is visible [here](https://sonarcloud.io/projects). We additionally validate code with [ESLint plugin from SonarCloud](https://github.com/SonarSource/eslint-plugin-sonarjs).

 With the Parser we went even one step further, and we now statically check the security of the code also with the[ESLint security plugin](https://github.com/nodesecurity/eslint-plugin-security).

 Looking at the quality of SonarCloud we will roll it out to the rest of the project under AsyncAPI GitHub organization.

![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/images/c3b28dce-bce5-4910-beb9-313aa6835152.png)

## **Project Status Update**

Recent releases in the JavaScript Parser, brought many new features to the parser:

- Server variables validation. Parser throws an error if you forgot to specify a Variable object for a variable used in the server URL like “url: api.streetlights.smartylighting.com:{port}”
- Channel parameters validation. Parser throws an error if you forgot to specify a Parameter object for a parameter used in the channel name like “event/{streetlightId}/lighting/measured”
- We added missing validation of the payload provided with the AsyncAPI schema format. In the past, when you provided a message payload information in Components object, it was correctly validated, but not if you provided this information directly under the channel
- Parser throws an error if OperationId is not duplicated across the whole AsyncAPI document. This is an essential property for code generation, and specification is precise that duplicates of this information are not allowed.
- Parser throws an error if you provided server security information in a wrong format and has a corresponding Security Schema object.

For today, except for [handling circular references issue](https://www.asyncapi.com/blog/status-update-27-20/#circular-references) we mentioned in our last update, there are no other serious tasks we want to solve before the 1.0.0 release. Keep your fingers crossed.

![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/images/449ebc88-f7ac-498d-ab26-23af786682e2.png)

## **The Highlight of Interesting Discussions**

There are some interesting discussions/topics where it would be great to hear your opinion:

### Add view property in the specification

This proposal addresses the confusion around the semantics of Publish and Subscribe channel operations. At the moment, the specification should be used to describe how users can interact with an application. In other words, if the AsyncAPI document of the application says that it has a **publish** channel, it means that this application is **subscribed** to this channel, and application users can publish an event to this application by publishing an event to this channel. The proposal behind the **view** property is to enable you to decide if you want the specification to tell you how you can interact with an application, or how the application behaves. You could say that publish means that the application published events to the channel and not the other way around.

Please have a look at [the corresponding issue](https://github.com/asyncapi/asyncapi/issues/390) and share your opinion.

### **Allow $schema property in the specification**

With **$schema** property you can specify a location of the JSON Schema file and most of the IDEs will make your life much easier by adding auto-completion and other super useful functionalities. In the issue we discuss how we could allow maybe not only **$schema** but maybe any property starting with **$**, and also we talk about the opportunity to measure the adoption of the specification.

 Please have a look at [the corresponding issue](https://github.com/asyncapi/asyncapi/issues/377) and share your opinion.

![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/images/38569ecf-d762-4e43-93a2-af41c149c080.png)

## **AsyncAPI Special Interest Group (SIG) open meeting**

The last meeting took place on **Tuesday, 7th of July, 8AM UTC**. Meeting notes and recording are available [here](https://github.com/asyncapi/asyncapi/issues/401).

[![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/video_thumbnails_new/0b59945c880bd3eaa7a0c31c13ca44fc.png)](https://youtu.be/haNb7ixTprs "AsyncAPI SIG meeting 27 (July 7, 2020)")

This is the recording for the AsyncAPI Special Interest Group (SIG) meeting #27.

[Watch Last SIG Meeting](https://youtu.be/haNb7ixTprs "Watch Last SIG Meeting")

**The next meeting is scheduled for next Tuesday, 21st of July, 4PM UTC.**

 We work on the agenda for the next meeting [here](https://github.com/asyncapi/asyncapi/issues/404). At the moment, there is nothing in the agenda so you can sneak in your topic easily.

 We host the meeting on [Zoom](https://zoom.us/j/165106914). Do not forget about future meetings and always have up to date invitations in your calendar by adding your email to [this](https://groups.google.com/forum/#!forum/asyncapi-users) mailing list.

![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/images/906b2745-fa23-4599-9ce8-7ed635e6f892.png)

## Content from the community

[![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/images/3043850f-19df-43b1-bfdf-d321590bf081.jpg)](https://www.asyncapi.com/blog/event-streaming-an-additional-architectural-style-to-suplement-api-design/?utm_source=newsletter&utm_medium=email&utm_content=image&utm_campaign=newsletter-07-14-2020)

[Event-Streaming: An Additional Architectural Style to Supplement API Design](https://www.asyncapi.com/blog/event-streaming-an-additional-architectural-style-to-suplement-api-design/?utm_source=newsletter&utm_medium=email&utm_content=text&utm_campaign=newsletter-07-14-2020)
 by [James Higginbotham](https://twitter.com/launchany)

[Read More](https://www.asyncapi.com/blog/event-streaming-an-additional-architectural-style-to-suplement-api-design/?utm_source=newsletter&utm_medium=email&utm_content=button&utm_campaign=newsletter-07-14-2020 "Read More")

[![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/images/dab7f0b6-d9c3-47d7-a22b-dd4f5a5f5ae1.jpg)](https://blogs.mulesoft.com/dev/design-dev/event-driven-architecture-for-unhappy-paths/)

**[How to mitigate unhappy paths with an event-driven architecture at scale](https://blogs.mulesoft.com/dev/design-dev/event-driven-architecture-for-unhappy-paths/)**

 by [Paul Taylor](https://www.linkedin.com/in/paultay/)

[Read More](https://blogs.mulesoft.com/dev/design-dev/event-driven-architecture-for-unhappy-paths/ "Read More")

[![](https://mcusercontent.com/3cdae6aed726d2e7490aec739/_compresseds/b6a224d5-74b4-4042-b1b3-a61d488291cd.jpg)](https://hackernoon.com/understanding-event-driven-architecture-ub1k3umo)

[Understanding Event Driven Architecture](https://hackernoon.com/understanding-event-driven-architecture-ub1k3umo)

 by [Craig Godden-Payne](https://twitter.com/DigitalBeardy)

[Read More](https://hackernoon.com/understanding-event-driven-architecture-ub1k3umo "Read More")

If you want to promote your content in the Newsletter. Maybe you have some interesting blog posts you want to share with others. Join [this](https://groups.google.com/forum/#!forum/asyncapi-users) mailing list and gain access to [the document](https://docs.google.com/document/d/1vGZ1e8zxPxSXu0r5457Vohb9hjg8hkvolWSOFjr73-Y) where we craft the next Newsletter and suggest your changes.

#### Follow us

[![GitHub](https://cdn-images.mailchimp.com/icons/social-block-v2/outline-color-github-48.png)](https://github.com/asyncapi)

[GitHub](https://github.com/asyncapi)

[![Twitter](https://cdn-images.mailchimp.com/icons/social-block-v2/outline-color-twitter-48.png)](http://www.twitter.com/AsyncAPISpec)

[Twitter](http://www.twitter.com/AsyncAPISpec)

[![LinkedIn](https://cdn-images.mailchimp.com/icons/social-block-v2/outline-color-linkedin-48.png)](https://www.linkedin.com/company/asyncapi/)

[LinkedIn](https://www.linkedin.com/company/asyncapi/)

[![YouTube](https://cdn-images.mailchimp.com/icons/social-block-v2/outline-color-youtube-48.png)](https://www.youtube.com/channel/UCIz9zGwDLbrYQcDKVXdOstQ)

[YouTube](https://www.youtube.com/channel/UCIz9zGwDLbrYQcDKVXdOstQ)

[![WebSite](https://cdn-images.mailchimp.com/icons/social-block-v2/outline-color-link-48.png)](https://www.asyncapi.com/)

[WebSite](https://www.asyncapi.com/)

*Copyright © 2020 Fran Méndez, All rights reserved.*

 Want to change how you receive these emails?
 You can [update your preferences](https://asyncapi.us12.list-manage.com/profile?u=3cdae6aed726d2e7490aec739&id=6e3e437abe&e=[UNIQID]&c=42b48d678d) or [unsubscribe from this list](https://asyncapi.us12.list-manage.com/unsubscribe?u=3cdae6aed726d2e7490aec739&id=6e3e437abe&t=b&e=[UNIQID]&c=42b48d678d).

 [![Email Marketing Powered by Mailchimp](https://cdn-images.mailchimp.com/monkey_rewards/intuit-mc-rewards-1.png "Mailchimp Email Marketing")](https://login.mailchimp.com/signup/email-referral/?aid=3cdae6aed726d2e7490aec739)

***

## Discussion

No replies yet.
