-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
chore: update tools.json #4214
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 #4214
Conversation
✅ Deploy Preview for asyncapi-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
WalkthroughThis update reorganizes and updates metadata in several JSON configuration files. It swaps the "name" values between specific technology entries, restructures tool categories, updates descriptions, repository URLs, and ownership flags, and introduces new tools and categories. No changes to logic or schema structures were made. Changes
Sequence Diagram(s)sequenceDiagram
participant ConfigMaintainer
participant JSONConfig
ConfigMaintainer->>JSONConfig: Swap "name" fields between technology entries
ConfigMaintainer->>JSONConfig: Reorganize tool categories and update metadata
ConfigMaintainer->>JSONConfig: Swap metadata between GitHub Action entries
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4214 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 22 22
Lines 778 778
Branches 144 144
=========================================
Hits 778 778 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🔭 Outside diff range comments (2)
config/all-tags.json (1)
270-289: Multiple “SmartPaste” & “JetBrains” tags now coexist
SmartPastealready appears at 276-279 and again at 281-284, whileJetBrainswas re-added at 286-289.
This causes the same uniqueness problem mentioned above and easily slips past JSON-schema validation because the schema only enforces type, not set-membership.Please deduplicate the entries and keep a single, canonical colour/border pair for each.
config/tools.json (1)
1686-1704: Metadata mismatch & category typo in first “GitHub Action for Generator” toolIssues spotted:
descriptionisnullwhereas the other entry has a proper description.categoriescontains"github-action"(singular) – the second entry uses"github-actions"(plural).
The site’s filter logic is case-sensitive and string-based, so this yields two separate filters.- The repository URL points to
actions-marketplace-validations/asyncapi_github-action-for-generator, which seems unrelated to the AsyncAPI Generator CLI.Please harmonise description, category spelling and confirm the repo link.
🧹 Nitpick comments (4)
config/tools.json (1)
1707-1725: Second “GitHub Action for Generator” tool duplicates title but represents the CLIHaving two objects with identical
"title"but different purposes makes UI search confusing and violates the one-title-per-tool guideline. Consider:• Rename this entry to something like “AsyncAPI CLI – GitHub Action” to reflect its real function.
• Align thecategoriesvalue with the singular form chosen above after consolidation.After the rename, check that no other list references rely on the exact previous title.
config/tools-automated.json (3)
53-60: Use canonical capitalization forTypeScriptin thelanguagefield.
Other entries use the exact casing “TypeScript”; keeping this consistent avoids brittle, case-sensitive filters downstream.- "language": "Typescript", + "language": "TypeScript",
472-476: Fill in the missing description to avoid nulls in generated pages.- "description": null, + "description": "GitHub Action that wraps the AsyncAPI Generator."
872-877: Spell “WebSockets” with a capital “S” for consistency.- "title": "Node.js Websockets Template", + "title": "Node.js WebSockets Template",
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
config/all-tags.json(2 hunks)config/tools-automated.json(14 hunks)config/tools.json(3 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: asyncapi-bot
PR: asyncapi/website#0
File: :0-0
Timestamp: 2025-02-18T12:07:42.211Z
Learning: The following PR commands are supported in the asyncapi/website repository:
- `/please-take-a-look` or `/ptal`: Requests attention from reviewers who haven't reviewed the PR
- `/ready-to-merge` or `/rtm`: Triggers automerge when all conditions are met
- `/do-not-merge` or `/dnm`: Blocks automerge even if all conditions are met
- `/autoupdate` or `/au`: Adds autoupdate label to keep PR in sync with target branch
- `/update` or `/u`: One-time update of PR with latest changes from target branch
Learnt from: akshatnema
PR: asyncapi/website#3378
File: scripts/markdown/check-markdown.js:1-1
Timestamp: 2024-11-25T18:41:29.632Z
Learning: When updating workflows for the AsyncAPI website repository, use `.github/workflows/if-nodejs-pr-testing.yml` to include environment variables and secrets for Node.js PR testing.
Learnt from: bandantonio
PR: asyncapi/website#3393
File: markdown/blog/socketio-part2.md:506-506
Timestamp: 2024-11-13T20:40:29.580Z
Learning: When performing rebranding updates, there's no need to update the titles of bug reports in `dashboard.json`, even if they contain the old name.
Learnt from: akshatnema
PR: asyncapi/website#3265
File: tests/fixtures/toolsObjectData.js:51-52
Timestamp: 2024-10-09T17:35:36.557Z
Learning: When reviewing code in the 'asyncapi/website' repository, akshatnema prefers that I do not provide committable code suggestions.
Learnt from: anshgoyalevil
PR: asyncapi/website#3557
File: scripts/markdown/check-editlinks.js:58-59
Timestamp: 2025-01-08T15:15:00.759Z
Learning: In the AsyncAPI codebase, batch processing operations (like in the Dashboard script and check-editlinks.js) follow a sequential pattern using await in loops, which is the preferred approach for maintaining consistency across the codebase.
config/all-tags.json (2)
Learnt from: akshatnema
PR: asyncapi/website#3423
File: tests/index.test.js:2-7
Timestamp: 2025-01-18T08:44:43.614Z
Learning: In the AsyncAPI website project, JavaScript test files must include the .ts extension when importing TypeScript files (e.g., `require('../scripts/build-rss.ts')`). This is enforced by the project's configuration which uses `moduleResolution: "bundler"` in tsconfig.json and TypeScript-aware ESLint plugins. The .ts extensions are required even though the files are imported using CommonJS require statements.
Learnt from: akshatnema
PR: asyncapi/website#3423
File: tests/index.test.js:2-7
Timestamp: 2025-01-18T08:44:43.614Z
Learning: In the AsyncAPI website project, JavaScript test files must include the .ts extension when importing TypeScript files (e.g., `require('../scripts/build-rss.ts')`). This is a project-specific requirement enforced by the linting rules and build setup, even though it differs from typical Node.js behavior.
config/tools.json (1)
Learnt from: anshgoyalevil
PR: asyncapi/website#3557
File: tests/fixtures/markdown/check-edit-links-data.js:3-11
Timestamp: 2025-01-19T04:51:41.255Z
Learning: In the AsyncAPI website repository, the test data in `tests/fixtures/markdown/check-edit-links-data.js` intentionally includes inconsistent paths (with and without 'docs' prefix) to verify the script's ability to normalize and handle ambiguous path structures.
config/tools-automated.json (4)
Learnt from: anshgoyalevil
PR: asyncapi/website#3557
File: tests/fixtures/markdown/check-edit-links-data.js:3-11
Timestamp: 2025-01-19T04:51:41.255Z
Learning: In the AsyncAPI website repository, the test data in `tests/fixtures/markdown/check-edit-links-data.js` intentionally includes inconsistent paths (with and without 'docs' prefix) to verify the script's ability to normalize and handle ambiguous path structures.
Learnt from: akshatnema
PR: asyncapi/website#3423
File: tests/index.test.js:2-7
Timestamp: 2025-01-18T08:44:43.614Z
Learning: In the AsyncAPI website project, JavaScript test files must include the .ts extension when importing TypeScript files (e.g., `require('../scripts/build-rss.ts')`). This is a project-specific requirement enforced by the linting rules and build setup, even though it differs from typical Node.js behavior.
Learnt from: anshgoyalevil
PR: asyncapi/website#3557
File: tests/markdown/check-edit-links.test.js:20-46
Timestamp: 2025-01-14T14:58:38.076Z
Learning: In the AsyncAPI website codebase, the edit-page-config.json contains a fallback match entry that ensures determineEditLink function always has a valid target.value, making null checks unnecessary.
Learnt from: akshatnema
PR: asyncapi/website#3136
File: tests/fixtures/tools/automated-tools.json:8-9
Timestamp: 2024-11-01T12:48:22.034Z
Learning: In the `tests/fixtures/tools/automated-tools.json` file, the `language` field within the `filters` object can be either a string or an array. Both formats are acceptable and supported in the codebase.
⏰ Context from checks skipped due to timeout of 180000ms (8)
- GitHub Check: Automerge PR autoapproved by a bot
- GitHub Check: Redirect rules - asyncapi-website
- GitHub Check: Header rules - asyncapi-website
- GitHub Check: Pages changed - asyncapi-website
- GitHub Check: Lighthouse CI
- GitHub Check: Test NodeJS PR - windows-latest
- GitHub Check: Test NodeJS PR - ubuntu-latest
- GitHub Check: Test NodeJS PR - macos-13
🔇 Additional comments (3)
config/all-tags.json (1)
176-189: Remove Duplicate Technology Tags in config/all-tags.jsonThe current change re-introduces both “TypeScript” and “Socket.IO” even though they already appear earlier, breaking the uniqueness assumption downstream (e.g., filter counts).
Action items
• In config/all-tags.json, remove the extra “TypeScript” entry (currently at lines ~181–184).
• Remove the extra “Socket.IO” entry (currently at lines ~186–189).
• Confirm no other duplicate names exist by running:jq -r '.technologies[].name' config/all-tags.json | sort | uniq -dconfig/tools-automated.json (2)
5-24: Entry looks good – no blocking issues spotted.
The metadata for “AsyncAPI Server API” is complete and follows the existing schema.
714-730: Duplicate “AsyncAPI CLI” entry – confirm this is intentional.Two almost-identical records differ only by repository URL and
isAsyncAPIOwner. If the fork deserves listing, give it a distinctive title or description; otherwise remove to keep the catalogue concise.
| "title": "GitHub Action for Generator", | ||
| "description": "CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!", | ||
| "description": null, | ||
| "links": { | ||
| "repoUrl": "https://github.com/asyncapi/cli" | ||
| "repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator" | ||
| }, | ||
| "filters": { | ||
| "technology": [ | ||
| "AsyncAPI Generator" | ||
| ], | ||
| "categories": [ | ||
| "github-actions" | ||
| "github-action" | ||
| ], | ||
| "hasCommercial": false, | ||
| "isAsyncAPIOwner": true | ||
| "isAsyncAPIOwner": false | ||
| } | ||
| }, | ||
| { | ||
| "title": "GitHub Action for Generator", | ||
| "description": null, | ||
| "description": "CLI to work with your AsyncAPI files. You can validate them and in the future use a generator and even bootstrap a new file. Contributions are welcomed!", | ||
| "links": { | ||
| "repoUrl": "https://github.com/actions-marketplace-validations/asyncapi_github-action-for-generator" | ||
| "repoUrl": "https://github.com/asyncapi/cli" | ||
| }, | ||
| "filters": { | ||
| "technology": [ | ||
| "AsyncAPI Generator" | ||
| ], | ||
| "categories": [ | ||
| "github-action" | ||
| "github-actions" | ||
| ], | ||
| "hasCommercial": false, | ||
| "isAsyncAPIOwner": false | ||
| "isAsyncAPIOwner": true | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Category string mismatch and mis-categorised repo break filtering.
- First tool uses
"github-action"while the second uses"github-actions". The consumer code expects one canonical value – pick one (the plural seems to dominate elsewhere). - The second entry points to
asyncapi/cli, which is a CLI, not a GitHub Action. If this is intentional, add a clarifying description; otherwise move it to the CLIs section.
- "github-action"
+ "github-actions"
- "repoUrl": "https://github.com/asyncapi/cli"
+ "repoUrl": "https://github.com/asyncapi/github-action-for-generator" # or move entryCommittable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In config/tools-automated.json between lines 472 and 503, unify the category
string for GitHub Actions by changing "github-action" to "github-actions" to
maintain consistency. Also, since the second entry points to asyncapi/cli which
is a CLI and not a GitHub Action, either update its description to clarify this
or move this entry to the CLIs section to correctly categorize it.
Automated changes by create-pull-request GitHub action
Summary by CodeRabbit
New Features
Updates
Bug Fixes