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

chore: update tools.json #3440

Merged
merged 1 commit into from
Dec 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion config/all-tags.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"languages":[{"name":"Go/Golang","color":"bg-[#8ECFDF]","borderColor":"border-[#00AFD9]"},{"name":"Java","color":"bg-[#ECA2A4]","borderColor":"border-[#EC2125]"},{"name":"JavaScript","color":"bg-[#F2F1C7]","borderColor":"border-[#BFBE86]"},{"name":"HTML","color":"bg-[#E2A291]","borderColor":"border-[#E44D26]"},{"name":"C/C++","color":"bg-[#93CDEF]","borderColor":"border-[#0080CC]"},{"name":"C#","color":"bg-[#E3AFE0]","borderColor":"border-[#9B4F96]"},{"name":"Python","color":"bg-[#A8D0EF]","borderColor":"border-[#3878AB]"},{"name":"TypeScript","color":"bg-[#7DBCFE]","borderColor":"border-[#2C78C7]"},{"name":"Kotlin","color":"bg-[#B1ACDF]","borderColor":"border-[#756BD9]"},{"name":"Scala","color":"bg-[#FFA299]","borderColor":"border-[#DF301F]"},{"name":"Markdown","color":"bg-[#BABEBF]","borderColor":"border-[#445B64]"},{"name":"YAML","color":"bg-[#FFB764]","borderColor":"border-[#F1901F]"},{"name":"R","color":"bg-[#84B5ED]","borderColor":"border-[#246BBE]"},{"name":"Ruby","color":"bg-[#FF8289]","borderColor":"border-[#FF000F]"},{"name":"Rust","color":"bg-[#FFB8AA]","borderColor":"border-[#E43716]"},{"name":"Shell","color":"bg-[#87D4FF]","borderColor":"border-[#389ED7]"},{"name":"Groovy","color":"bg-[#B6D5E5]","borderColor":"border-[#609DBC]"}],"technologies":[{"name":"Node.js","color":"bg-[#BDFF67]","borderColor":"border-[#84CE24]"},{"name":"Hermes","color":"bg-[#8AEEBD]","borderColor":"border-[#2AB672]"},{"name":"React JS","color":"bg-[#9FECFA]","borderColor":"border-[#08D8FE]"},{"name":".NET","color":"bg-[#A184FF]","borderColor":"border-[#5026D4]"},{"name":"ASP.NET","color":"bg-[#71C2FB]","borderColor":"border-[#1577BC]"},{"name":"Springboot","color":"bg-[#98E279]","borderColor":"border-[#68BC44]"},{"name":"AWS","color":"bg-[#FF9F59]","borderColor":"border-[#EF6703]"},{"name":"Docker","color":"bg-[#B8E0FF]","borderColor":"border-[#2596ED]"},{"name":"Node-RED","color":"bg-[#FF7474]","borderColor":"border-[#8F0101]"},{"name":"Maven","color":"bg-[#FF6B80]","borderColor":"border-[#CA1A33]"},{"name":"Saas","color":"bg-[#6AB8EC]","borderColor":"border-[#2275AD]"},{"name":"Kubernetes-native","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Scala","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Azure","color":"bg-[#4B93FF]","borderColor":"border-[#015ADF]"},{"name":"Jenkins","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Flask","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Nest Js","color":"bg-[#E1224E]","borderColor":"border-[#B9012b]"},{"name":"TypeScript","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Socket.IO","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Liquid","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Kotlin","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Gradle","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Spring Cloud Streams","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JHipster JDL","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Groovy","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Markdown","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Shell","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"WebComponents","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Babel","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Storybook","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"AsyncAPI Generator","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JetBrains","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"IntelliJ IDEA","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"VSCode","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"SmartPaste","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"HTML","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Java","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"}]}
{"languages":[{"name":"Go/Golang","color":"bg-[#8ECFDF]","borderColor":"border-[#00AFD9]"},{"name":"Java","color":"bg-[#ECA2A4]","borderColor":"border-[#EC2125]"},{"name":"JavaScript","color":"bg-[#F2F1C7]","borderColor":"border-[#BFBE86]"},{"name":"HTML","color":"bg-[#E2A291]","borderColor":"border-[#E44D26]"},{"name":"C/C++","color":"bg-[#93CDEF]","borderColor":"border-[#0080CC]"},{"name":"C#","color":"bg-[#E3AFE0]","borderColor":"border-[#9B4F96]"},{"name":"Python","color":"bg-[#A8D0EF]","borderColor":"border-[#3878AB]"},{"name":"TypeScript","color":"bg-[#7DBCFE]","borderColor":"border-[#2C78C7]"},{"name":"Kotlin","color":"bg-[#B1ACDF]","borderColor":"border-[#756BD9]"},{"name":"Scala","color":"bg-[#FFA299]","borderColor":"border-[#DF301F]"},{"name":"Markdown","color":"bg-[#BABEBF]","borderColor":"border-[#445B64]"},{"name":"YAML","color":"bg-[#FFB764]","borderColor":"border-[#F1901F]"},{"name":"R","color":"bg-[#84B5ED]","borderColor":"border-[#246BBE]"},{"name":"Ruby","color":"bg-[#FF8289]","borderColor":"border-[#FF000F]"},{"name":"Rust","color":"bg-[#FFB8AA]","borderColor":"border-[#E43716]"},{"name":"Shell","color":"bg-[#87D4FF]","borderColor":"border-[#389ED7]"},{"name":"Groovy","color":"bg-[#B6D5E5]","borderColor":"border-[#609DBC]"}],"technologies":[{"name":"Node.js","color":"bg-[#BDFF67]","borderColor":"border-[#84CE24]"},{"name":"Hermes","color":"bg-[#8AEEBD]","borderColor":"border-[#2AB672]"},{"name":"React JS","color":"bg-[#9FECFA]","borderColor":"border-[#08D8FE]"},{"name":".NET","color":"bg-[#A184FF]","borderColor":"border-[#5026D4]"},{"name":"ASP.NET","color":"bg-[#71C2FB]","borderColor":"border-[#1577BC]"},{"name":"Springboot","color":"bg-[#98E279]","borderColor":"border-[#68BC44]"},{"name":"AWS","color":"bg-[#FF9F59]","borderColor":"border-[#EF6703]"},{"name":"Docker","color":"bg-[#B8E0FF]","borderColor":"border-[#2596ED]"},{"name":"Node-RED","color":"bg-[#FF7474]","borderColor":"border-[#8F0101]"},{"name":"Maven","color":"bg-[#FF6B80]","borderColor":"border-[#CA1A33]"},{"name":"Saas","color":"bg-[#6AB8EC]","borderColor":"border-[#2275AD]"},{"name":"Kubernetes-native","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Scala","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Azure","color":"bg-[#4B93FF]","borderColor":"border-[#015ADF]"},{"name":"Jenkins","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Flask","color":"bg-[#D7C7F2]","borderColor":"border-[#A387D2]"},{"name":"Nest Js","color":"bg-[#E1224E]","borderColor":"border-[#B9012b]"},{"name":"Socket.IO","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"TypeScript","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Liquid","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Kotlin","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Gradle","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Spring Cloud Streams","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JHipster JDL","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Groovy","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Markdown","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Shell","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"WebComponents","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Babel","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Storybook","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"AsyncAPI Generator","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"VSCode","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"SmartPaste","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"JetBrains","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"IntelliJ IDEA","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"Java","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"},{"name":"HTML","color":"bg-[#61d0f2]","borderColor":"border-[#40ccf7]"}]}
Copy link

Choose a reason for hiding this comment

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

💡 Codebase verification

Consider maintaining visual differentiation between technologies

20 out of 36 technologies (more than 55%) share identical colors (bg-[#61d0f2], border-[#40ccf7]), which significantly reduces visual distinction in the UI. This includes diverse technologies like Socket.IO, TypeScript, Kotlin, VSCode, and Java that would benefit from visual differentiation.

Consider:

  • Using distinct colors for major technology categories (e.g., languages, frameworks, tools)
  • Maintaining a cohesive but varied color palette for better visual hierarchy
  • Preserving unique colors for key technologies to improve scanability
🔗 Analysis chain

Consider maintaining visual differentiation between technologies

Multiple technologies now share the same color scheme (bg-[#61d0f2], border-[#40ccf7]). While this creates consistency, it might make it harder for users to visually distinguish between different technologies in the UI.

Consider maintaining some color variation between different technology categories while still keeping a cohesive color palette. This could improve visual hierarchy and make it easier for users to scan and differentiate technologies.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Count how many technologies share the same color scheme
jq -r '.technologies[] | select(.color=="bg-[#61d0f2]" and .borderColor=="border-[#40ccf7]") | .name' config/all-tags.json | wc -l

Length of output: 135

152 changes: 76 additions & 76 deletions config/tools-automated.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,45 +3,45 @@
"description": "The following is a list of APIs that expose functionality related to AsyncAPI.",
"toolsList": [
{
"title": "AsyncAPI Server API",
"description": "Server API providing official AsyncAPI tools",
"title": "SIO-AsyncAPI",
"description": "This is code-first approach to generate AsyncAPI specification from Socket.IO server.",
"links": {
"websiteUrl": "https://api.asyncapi.com/v1",
"docsUrl": "https://api.asyncapi.com/v1/docs",
"repoUrl": "https://github.com/asyncapi/server-api"
"websiteUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"docsUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"repoUrl": "https://github.com/daler-rahimov/sio-asyncapi"
},
"filters": {
"language": "Python",
"technology": [
"Node.js",
"TypeScript"
"Socket.IO",
"Flask"
],
"categories": [
"code-first",
"api"
],
"hasCommercial": false,
"isAsyncAPIOwner": true
"isAsyncAPIOwner": false
}
},
{
"title": "SIO-AsyncAPI",
"description": "This is code-first approach to generate AsyncAPI specification from Socket.IO server.",
"title": "AsyncAPI Server API",
"description": "Server API providing official AsyncAPI tools",
"links": {
"websiteUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"docsUrl": "https://github.com/daler-rahimov/sio-asyncapi",
"repoUrl": "https://github.com/daler-rahimov/sio-asyncapi"
"websiteUrl": "https://api.asyncapi.com/v1",
"docsUrl": "https://api.asyncapi.com/v1/docs",
"repoUrl": "https://github.com/asyncapi/server-api"
},
"filters": {
"language": "Python",
"technology": [
"Socket.IO",
"Flask"
"Node.js",
"TypeScript"
],
"categories": [
"code-first",
"api"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
"isAsyncAPIOwner": true
}
}
]
Expand Down Expand Up @@ -165,21 +165,6 @@
"isAsyncAPIOwner": false
}
},
{
"title": "Golang AsyncAPI Code Generator",
"description": "Generate Go user and application boilerplate from AsyncAPI specifications. Can be called from `go generate` without requirements.\n",
"links": {
"repoUrl": "https://github.com/lerenn/asyncapi-codegen"
},
"filters": {
"language": "golang",
"categories": [
"code-generator"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
},
{
"title": "AsyncAPI Modelina",
"description": "Generate payload models into Java, TypeScript, Go, etc, you name it, from AsyncAPI documents. This tool gives you full control over the models through high customization",
Expand All @@ -200,6 +185,21 @@
"hasCommercial": false,
"isAsyncAPIOwner": true
}
},
{
"title": "Golang AsyncAPI Code Generator",
"description": "Generate Go user and application boilerplate from AsyncAPI specifications. Can be called from `go generate` without requirements.\n",
"links": {
"repoUrl": "https://github.com/lerenn/asyncapi-codegen"
},
"filters": {
"language": "golang",
"categories": [
"code-generator"
],
"hasCommercial": false,
"isAsyncAPIOwner": false
}
}
]
},
Expand Down Expand Up @@ -674,18 +674,15 @@
"description": "The following is a list of extensions for different IDEs like VSCode, IntelliJ IDEA and others",
"toolsList": [
{
"title": "jAsyncAPI - IDEA plugin",
"description": "Idea plugin for the java-asyncapi - Helps to edit and validate AsyncAPI schemas.",
"title": "asyncapi-preview",
"description": "VSCode extension that enables you to:\n - Preview documentation generated using you AsyncAPI document. It uses AsyncAPI React component under the hood,\n - Create AsyncAPI documents faster using SmartPaste functionality\n",
"links": {
"websiteUrl": "https://plugins.jetbrains.com/plugin/15673-asyncapi",
"docsUrl": "https://github.com/asyncapi/jasyncapi-idea-plugin#usage",
"repoUrl": "https://github.com/asyncapi/jasyncapi-idea-plugin"
"repoUrl": "https://github.com/asyncapi/vs-asyncapi-preview"
},
"filters": {
"language": "Kotlin",
"technology": [
"JetBrains",
"IntelliJ IDEA"
"VSCode",
"SmartPaste"
],
"categories": [
"ide-extension"
Expand All @@ -695,15 +692,18 @@
}
},
{
"title": "asyncapi-preview",
"description": "VSCode extension that enables you to:\n - Preview documentation generated using you AsyncAPI document. It uses AsyncAPI React component under the hood,\n - Create AsyncAPI documents faster using SmartPaste functionality\n",
"title": "jAsyncAPI - IDEA plugin",
"description": "Idea plugin for the java-asyncapi - Helps to edit and validate AsyncAPI schemas.",
"links": {
"repoUrl": "https://github.com/asyncapi/vs-asyncapi-preview"
"websiteUrl": "https://plugins.jetbrains.com/plugin/15673-asyncapi",
"docsUrl": "https://github.com/asyncapi/jasyncapi-idea-plugin#usage",
"repoUrl": "https://github.com/asyncapi/jasyncapi-idea-plugin"
},
"filters": {
"language": "Kotlin",
"technology": [
"VSCode",
"SmartPaste"
"JetBrains",
"IntelliJ IDEA"
],
"categories": [
"ide-extension"
Expand All @@ -718,15 +718,15 @@
"description": "The following is a list of templates compatible with AsyncAPI Generator. You can use them to generate apps, clients or documentation from your AsyncAPI documents.",
"toolsList": [
{
"title": "HTML Template",
"description": "HTML template for AsyncAPI Generator. Use it to generate a static docs. It is using AsyncAPI React component under the hood.",
"title": "Node.js Websockets Template",
"description": "Node.js WebSockets template for the AsyncAPI Generator. It showcases how from a single AsyncAPI document you can generate a server and a client at the same time.",
"links": {
"repoUrl": "https://github.com/asyncapi/html-template"
"repoUrl": "https://github.com/asyncapi/nodejs-ws-template"
},
"filters": {
"language": "javascript",
"technology": [
"HTML"
"Node.js"
],
"categories": [
"generator-template"
Expand All @@ -736,17 +736,18 @@
}
},
{
"title": "Java Template",
"description": "Java template for the AsyncAPI Generator",
"title": "Java Spring Cloud Stream Template",
"description": "Java Spring Cloud Stream template for the AsyncAPI Generator",
"links": {
"repoUrl": "https://github.com/asyncapi/java-template"
"repoUrl": "https://github.com/asyncapi/java-spring-cloud-stream-template"
},
"filters": {
"language": [
"javascript"
],
"technology": [
"Java"
"Spring Cloud Streams",
"Maven"
],
"categories": [
"generator-template"
Expand All @@ -756,15 +757,17 @@
}
},
{
"title": "Node.js Multiprotocol Template",
"description": "This template generates a server using your AsyncAPI document. It supports multiple different protocols, like Kafka or MQTT. It is designed in the way that generated code is a library and with it's API you can start the server, send messages or register a middleware for listening incoming messages. Runtime message validation included.",
"title": "Java Template",
"description": "Java template for the AsyncAPI Generator",
"links": {
"repoUrl": "https://github.com/asyncapi/nodejs-template"
"repoUrl": "https://github.com/asyncapi/java-template"
},
"filters": {
"language": "javascript",
"language": [
"javascript"
],
Comment on lines +766 to +768
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix incorrect language specification for Java template

The Java template incorrectly specifies "javascript" as the language.

   "filters": {
     "language": [
-      "javascript"
+      "java"
     ],
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"language": [
"javascript"
],
"language": [
"java"
],

"technology": [
"Node.js"
"Java"
],
"categories": [
"generator-template"
Expand All @@ -774,18 +777,19 @@
}
},
{
"title": "Java Spring Cloud Stream Template",
"description": "Java Spring Cloud Stream template for the AsyncAPI Generator",
"title": "Java Spring Template",
"description": "Java Spring template for the AsyncAPI Generator",
"links": {
"repoUrl": "https://github.com/asyncapi/java-spring-cloud-stream-template"
"repoUrl": "https://github.com/asyncapi/java-spring-template"
},
"filters": {
"language": [
"javascript"
],
"technology": [
"Spring Cloud Streams",
"Maven"
"Springboot",
"Maven",
"Gradle"
],
"categories": [
"generator-template"
Expand All @@ -795,19 +799,15 @@
}
},
{
"title": "Java Spring Template",
"description": "Java Spring template for the AsyncAPI Generator",
"title": "HTML Template",
"description": "HTML template for AsyncAPI Generator. Use it to generate a static docs. It is using AsyncAPI React component under the hood.",
"links": {
"repoUrl": "https://github.com/asyncapi/java-spring-template"
"repoUrl": "https://github.com/asyncapi/html-template"
},
"filters": {
"language": [
"javascript"
],
"language": "javascript",
"technology": [
"Springboot",
"Maven",
"Gradle"
"HTML"
],
"categories": [
"generator-template"
Expand All @@ -817,10 +817,10 @@
}
},
{
"title": "Node.js Websockets Template",
"description": "Node.js WebSockets template for the AsyncAPI Generator. It showcases how from a single AsyncAPI document you can generate a server and a client at the same time.",
"title": "Node.js Multiprotocol Template",
"description": "This template generates a server using your AsyncAPI document. It supports multiple different protocols, like Kafka or MQTT. It is designed in the way that generated code is a library and with it's API you can start the server, send messages or register a middleware for listening incoming messages. Runtime message validation included.",
"links": {
"repoUrl": "https://github.com/asyncapi/nodejs-ws-template"
"repoUrl": "https://github.com/asyncapi/nodejs-template"
Comment on lines +820 to +823
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Consolidate duplicate AsyncAPI CLI entries

There are multiple entries for AsyncAPI CLI with identical descriptions but different repository URLs. Consider consolidating these entries to avoid confusion.

Consider keeping only the official AsyncAPI CLI entry (https://github.com/asyncapi/cli) and removing or updating the fork entry to clarify its purpose.

},
"filters": {
"language": "javascript",
Expand Down