Skip to content

Conversation

@thulieblack
Copy link
Member

@thulieblack thulieblack commented Sep 23, 2025

As part of the componetization of the readme, this PR adds a readme to the python template.

relates #1524

Summary by CodeRabbit

  • New Features

    • Standardized README generation for WebSocket client templates with Overview, Usage, Installation (Python), and API methods sections.
  • Improvements

    • Centralized reusable README components for consistent docs across languages.
    • Improved message example formatting and language-specific usage snippets.
  • Tests

    • Updated test imports and fixtures to match new component layout.
  • Chores

    • Added changeset and small workflow update for release tooling.

✏️ Tip: You can customize this high-level summary in your review settings.

@changeset-bot
Copy link

changeset-bot bot commented Sep 23, 2025

🦋 Changeset detected

Latest commit: a07a0a4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@asyncapi/generator-components Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Sep 23, 2025

Walkthrough

Adds centralized README components (Readme, CoreMethods, Installation, Overview, Usage, MessageExamples, OperationHeader) to packages/components, updates component exports and tests, replaces manual README logic in the JavaScript websocket template with Readme, adds a Python Readme wrapper, and adjusts related package/config files and workflow.

Changes

Cohort / File(s) Summary
New readme components
packages/components/src/components/readme/Readme.js, packages/components/src/components/readme/CoreMethods.js, packages/components/src/components/readme/Installation.js, packages/components/src/components/readme/Overview.js, packages/components/src/components/readme/Usage.js, packages/components/src/components/readme/MessageExamples.js, packages/components/src/components/readme/OperationHeader.js
Add React components to render README sections (Overview, Installation, Usage, CoreMethods, MessageExamples, OperationHeader) and a Readme orchestrator that conditionally includes sections based on language prop.
Component exports updated
packages/components/src/index.js
Export newly added readme components and Readme from the components package.
WebSocket JS template README refactor
packages/templates/clients/websocket/javascript/template/README.md.js
Replace in-file manual README JSX/logic with delegation to Readme({ asyncapi, params, language: 'javascript' }).
WebSocket Python template wrapper
packages/templates/clients/websocket/python/template/README.md.js
New wrapper exporting default that returns Readme({ asyncapi, params, language: 'python' }).
OperationHeader removal from template
packages/templates/clients/websocket/javascript/components/OperationHeader.js
Remove template-local OperationHeader component (now provided by components package).
Tests import/fixture path updates
packages/components/test/components/AvailableOperations.test.js, packages/components/test/components/MessageExamples.test.js, packages/components/test/components/OperationHeader.test.js
Update imports to ../../src/components/readme/... and adjust fixture relative paths.
Package/config/workflow changes
packages/templates/clients/websocket/javascript/package.json, packages/templates/clients/kafka/java/quarkus/.ageneratorrc, .changeset/generator-components.md, .github/workflows/release-with-changesets.yml
Add --passWithNoTests to jest script; change YAML quoting in .ageneratorrc; add changeset for @asyncapi/generator-components; update get-node-version action used in release workflow.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Review Readme.js (orchestrator) for parity with previous README content and conditional inclusion logic.
  • Verify language-specific snippets in Usage.js and CoreMethods.js for correctness and formatting.
  • Confirm tests' import/fixture path updates and removed template OperationHeader do not break consumers.
  • Minor attention: changeset and workflow action update.

Possibly related PRs

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add python readme' is partially related to the changeset. While it does reference adding a Python-specific README, the actual main changes include significant componentization work across multiple files (CoreMethods, Installation, Overview, Usage, Readme components) that applies beyond just Python and represents the central focus of the PR.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1e429b3 and a07a0a4.

📒 Files selected for processing (1)
  • .github/workflows/release-with-changesets.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Test generator as dependency with Node 18
  • GitHub Check: Test generator as dependency with Node 20
  • GitHub Check: Acceptance tests for generated templates
  • GitHub Check: Test NodeJS PR - ubuntu-latest
  • GitHub Check: Test NodeJS PR - macos-latest
  • GitHub Check: Test NodeJS PR - windows-latest
🔇 Additional comments (1)
.github/workflows/release-with-changesets.yml (1)

98-98: Standardize action reference to official asyncapi action.

The change updates the action reference from a fork (derberg/.github-asyncapi/...) to the official asyncapi action, aligning the release job with the pattern already established in the test-nodejs job (Line 47). Both jobs now consistently use asyncapi/.github/.github/actions/get-node-version-from-package-lock@master, improving consistency and maintainability by using the canonical action source.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@asyncapi-bot
Copy link
Contributor

What reviewer looks at during PR review

The following are ideal points maintainers look for during review. Reviewing these points yourself beforehand can help streamline the review process and reduce time to merge.

  1. PR Title: Use a concise title that follows our Conventional Commits guidelines and clearly summarizes the change using imperative mood (it means spoken or written as if giving a command or instruction, like "add new helper for listing operations")

    Note - In Generator, prepend feat: or fix: in PR title only when PATCH/MINOR release must be triggered.

  2. PR Description: Clearly explain the issue being solved, summarize the changes made, and mention the related issue.

    Note - In Generator, we use Maintainers Work board to track progress. Ensure the PR Description includes Resolves #<issue-number> or Fixes #<issue-number> this will automatically close the linked issue when the PR is merged and helps automate the maintainers workflow.

  3. Documentation: Update the relevant Generator documentation to accurately reflect the changes introduced in the PR, ensuring users and contributors have up-to-date guidance.

  4. Comments and JSDoc: Write clear and consistent JSDoc comments for functions, including parameter types, return values, and error conditions, so others can easily understand and use the code.

  5. DRY Code: Ensure the code follows the Don't Repeat Yourself principle. Look out for duplicate logic that can be reused.

  6. Test Coverage: Ensure the new code is well-tested with meaningful test cases that pass consistently and cover all relevant edge cases.

  7. Commit History: Contributors should avoid force-pushing as much as possible. It makes it harder to track incremental changes and review the latest updates.

  8. Template Design Principles Alignment: While reviewing template-related changes in the packages/ directory, ensure they align with the Assumptions and Principles. If any principle feels outdated or no longer applicable, start a discussion these principles are meant to evolve with the project.

  9. Reduce Scope When Needed: If an issue or PR feels too large or complex, consider splitting it and creating follow-up issues. Smaller, focused PRs are easier to review and merge.

  10. Bot Comments: As reviewers, check that contributors have appropriately addressed comments or suggestions made by automated bots. If there are bot comments the reviewer disagrees with, react to them or mark them as resolved, so the review history remains clear and accurate.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (3)
packages/templates/clients/websocket/python/template/README.md.js (3)

45-47: Document that connect() is async to match the example usage.

The sample uses await ws_client.connect() but the docs don't mention it's async.

-#### `connect()`
-Establishes a WebSocket connection to the server.
+#### `connect()` (async)
+Asynchronously establishes a WebSocket connection to the server.

87-93: Avoid referencing a likely non-existent method: send_echo_message.

This name is too specific and may not exist in the generated client. Point users to actual operation methods.

-        message = 'Hello, Echo!'
+        message = 'Hello, world!'
         while True:
             try:
-                await ws_client.send_echo_message(message)
+                await ws_client.<operation_method>(message)  # Replace with a generated method from "Available Operations" above
             except Exception as error:
                 print('Error while sending message:', error)
             await asyncio.sleep(interval)

77-77: Capitalize “WebSocket” correctly.

-    print('Errors from Websocket:', getattr(error, 'message', str(error)))
+    print('Errors from WebSocket:', getattr(error, 'message', str(error)))
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1e7004b and e2f1156.

📒 Files selected for processing (1)
  • packages/templates/clients/websocket/python/template/README.md.js (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
packages/templates/clients/websocket/python/template/README.md.js (3)
packages/helpers/src/servers.js (2)
  • getServer (34-45)
  • getServerUrl (8-22)
packages/helpers/src/utils.js (3)
  • getInfo (9-21)
  • getClientName (53-61)
  • getTitle (32-43)
packages/templates/clients/websocket/javascript/components/AvailableOperations.js (1)
  • AvailableOperations (5-20)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Test generator as dependency with Node 18
  • GitHub Check: Acceptance tests for generated templates
  • GitHub Check: Test generator as dependency with Node 20

@thulieblack
Copy link
Member Author

@Adi-204 I need to check how the readme renders but all the commands I have in my head are failing can you help me

@Adi-204
Copy link
Member

Adi-204 commented Sep 23, 2025

@thulieblack you can check the templates rendered content by running integration test we have new integration test setup https://github.com/asyncapi/generator/tree/master/packages/templates/clients/websocket/test#integration-testing

So basically cd packages\templates\clients\websocket\test\integration-test and run npm run test to run integration test and than in every template in your case in python their is test folder inside which temp folder will have templates for diff fixtures.

does it answers your question?

@thulieblack
Copy link
Member Author

Not really, I don't want to run the integration tests, but I want to generate the Python README code locally and see how it displays

@Adi-204
Copy link
Member

Adi-204 commented Sep 23, 2025

@thulieblack you want to see below README.md file right?

image

Also when you added this new README.md their should be changes in snapshots which I don't see in this PR. I would suggest you to run npm run test locally. In integration test we are using Generator so it helps you to see generated code locally.

@thulieblack
Copy link
Member Author

Sorry Adi, could you please walk me through how you did this because I'm not reproducing this from my end.

Also, I need to add the Readme to the snapshoot test as well?

@Adi-204
Copy link
Member

Adi-204 commented Sep 23, 2025

@thulieblack can you please share final logs when you run npm run test globally inside generator are all test passing successful? I would recommend to run npm i once again as in monorepo you can sometimes face dependencies issues.
I just clone your PR and when I ran npm run test the snapshots got updated.
btw can you see temp folder content in any of the clients or not?

@Adi-204
Copy link
Member

Adi-204 commented Sep 23, 2025

ok one thing I notice is in this PR ci logs test are failed still overall it is showing pass? 🤔

image

cc @derberg can you also please look.

@thulieblack
Copy link
Member Author

In terms of temp content, this is what I see

image

Logs after running npm run test

C:\Users\siban\Local Repos\generator> npm run test

> [email protected] test
> turbo run test

╭──────────────────────────────────────────────────────────────────────╮
│                                                                      │
│                  Update available v1.13.3 ≫ v2.5.6                   │
│    Changelog: https://github.com/vercel/turbo/releases/tag/v2.5.6    │
│           Run "npx @turbo/codemod@latest update" to update           │
│                                                                      │
│        Follow @turborepo for updates: https://x.com/turborepo        │
╰──────────────────────────────────────────────────────────────────────╯
 WARNING  stale pid file at "C:\\Users\\siban\\AppData\\Local\\Temp\\turbod\\c5b3f216f4f6a569\\turbod.pid"
• Packages in scope: @asyncapi/generator, @asyncapi/generator-components, @asyncapi/generator-helpers, @asyncapi/generator-hooks, @asyncapi/generator-react-sdk, @asyncapi/keeper, @asyncapi/nunjucks-filters, @asyncapi/template-acceptance-test-js, @asyncapi/template-integration-test, @asyncapi/template-kafka-integration-test, core-template-client-kafka-java-quarkus, core-template-client-websocket-dart, core-template-client-websocket-java-quarkus, core-template-client-websocket-javascript, core-template-client-websocket-python
• Running test in 15 packages
• Remote caching disabled
@asyncapi/generator-components:build: cache bypass, force executing 9909529abfbf0154
@asyncapi/keeper:build: cache bypass, force executing 3c25360b555d0a07
@asyncapi/generator-react-sdk:build: cache bypass, force executing acfe3de747d260d1
@asyncapi/generator-hooks:test: cache bypass, force executing 7f16ff210fb25f99
@asyncapi/nunjucks-filters:test: cache bypass, force executing cbd3905b6b1af93a
@asyncapi/generator-helpers:test: cache bypass, force executing abe8b83d3d078fe9
@asyncapi/generator-components:build: 
@asyncapi/generator-components:build: > @asyncapi/[email protected] build
@asyncapi/generator-components:build: > babel src --out-dir lib
@asyncapi/generator-components:build:
@asyncapi/keeper:build:
@asyncapi/keeper:build: > @asyncapi/[email protected] build
@asyncapi/keeper:build: > babel src --out-dir lib
@asyncapi/keeper:build:
@asyncapi/generator-react-sdk:build: 
@asyncapi/generator-react-sdk:build: > @asyncapi/[email protected] build
@asyncapi/generator-react-sdk:build: > tsc
@asyncapi/generator-react-sdk:build:
@asyncapi/generator-hooks:test: 
@asyncapi/generator-hooks:test: > @asyncapi/[email protected] test
@asyncapi/generator-hooks:test: > npm run test:cleanup && jest --coverage
@asyncapi/generator-hooks:test:
@asyncapi/generator-helpers:test: 
@asyncapi/generator-helpers:test: > @asyncapi/[email protected] test
@asyncapi/generator-helpers:test: > jest --coverage
@asyncapi/generator-helpers:test:
@asyncapi/nunjucks-filters:test: 
@asyncapi/nunjucks-filters:test: > @asyncapi/[email protected] test
@asyncapi/nunjucks-filters:test: > ava
@asyncapi/nunjucks-filters:test:
@asyncapi/nunjucks-filters:test: 
@asyncapi/generator-hooks:test: 
@asyncapi/generator-hooks:test: > @asyncapi/[email protected] test:cleanup
@asyncapi/generator-hooks:test: > rimraf "test/temp"
@asyncapi/generator-hooks:test:
@asyncapi/keeper:build: Successfully compiled 2 files with Babel (2102ms).
@asyncapi/nunjucks-filters:test:   ✔ lodashFilters › lodash isArray function is available and works as expected
@asyncapi/keeper:test: cache bypass, force executing 9bc5ce695672a37b
@asyncapi/nunjucks-filters:test:   ✔ customFilters › markdown2html returns valid html
@asyncapi/nunjucks-filters:test:   ✔ customFilters › generateExample returns valid example
@asyncapi/nunjucks-filters:test:   ✔ customFilters › oneLine returns one liner string
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getPayloadExamples() should return empty examples
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getPayloadExamples() should return payload examples
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getPayloadExamples() should return examples from payload schema
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getPayloadExamples() should return examples from payload schema - case when only headers examples are defined in `examples` field
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getPayloadExamples() should return examples for payload - case when at least one item in `examples` array has `payload` field with existing `payload.examples`
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getHeadersExamples() should return empty examples
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getHeadersExamples() should return headers examples
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getHeadersExamples() should return examples from headers schema
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getHeadersExamples() should return examples from headers schema - case when only payload examples are defined in `examples` field
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .getHeadersExamples() should return examples for headers - case when at least one item in `examples` array has `headers` field with existing `headers.examples`
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .replaceServerVariablesWithValues() should replace placeholder with default value
@asyncapi/nunjucks-filters:test:   ✔ customFilters › .replaceServerVariablesWithValues() should replace placeholder with first enum value when no default is specified
@asyncapi/generator-components:build: Successfully compiled 10 files with Babel (2596ms).
@asyncapi/nunjucks-filters:test:   ─
@asyncapi/nunjucks-filters:test: 
@asyncapi/nunjucks-filters:test:   16 tests passed
@asyncapi/keeper:test: 
@asyncapi/keeper:test: > @asyncapi/[email protected] pretest
@asyncapi/keeper:test: > npm run build
@asyncapi/keeper:test:
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(1,19): error TS7016: Could not find a declaration file for module 'react'. 'C:/Users/siban/Local Repos/generator/node_modules/react/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(5,1): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(6,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(8,28): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. 'C:/Users/siban/Local Repos/generator/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react/jsx-runtime';`    
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(9,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(12,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(18,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(21,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(28,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(31,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/File.spec.tsx(38,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(1,19): error TS7016: Could not find a declaration file for module 'react'. 'C:/Users/siban/Local Repos/generator/node_modules/react/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(5,1): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(6,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(8,28): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. 'C:/Users/siban/Local Repos/generator/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react/jsx-runtime';`    
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(9,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(12,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(18,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(21,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(27,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(30,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(36,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(39,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Indent.spec.tsx(49,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(1,19): error TS7016: Could not find a declaration file for module 'react'. 'C:/Users/siban/Local Repos/generator/node_modules/react/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(5,1): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(6,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(8,28): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. 'C:/Users/siban/Local Repos/generator/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react/jsx-runtime';`    
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(9,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(12,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(18,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(21,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(27,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(30,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/components/__tests__/Text.spec.tsx(33,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/components/File.tsx(1,23): error TS7016: Could not find a declaration file for module 'prop-types'. 'C:/Users/siban/Local Repos/generator/node_modules/prop-types/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/prop-types` if it exists or add a new declaration (.d.ts) file containing `declare module 'prop-types';`      
@asyncapi/generator-react-sdk:build: src/components/File.tsx(38,47): error TS7031: Binding element 'children' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build: src/components/File.tsx(39,10): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. 'C:/Users/siban/Local Repos/generator/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react/jsx-runtime';`    
@asyncapi/generator-react-sdk:build: src/components/Indent.tsx(1,23): error TS7016: Could not find a declaration file for module 'prop-types'. 'C:/Users/siban/Local Repos/generator/node_modules/prop-types/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/prop-types` if it exists or add a new declaration (.d.ts) file containing `declare module 'prop-types';`      
@asyncapi/generator-react-sdk:build: src/components/Indent.tsx(41,93): error TS7031: Binding element 'childrenContent' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build: src/components/Indent.tsx(42,10): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. 'C:/Users/siban/Local Repos/generator/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react/jsx-runtime';`    
@asyncapi/generator-react-sdk:build: src/components/Text.tsx(1,23): error TS7016: Could not find a declaration file for module 'prop-types'. 'C:/Users/siban/Local Repos/generator/node_modules/prop-types/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/prop-types` if it exists or add a new declaration (.d.ts) file containing `declare module 'prop-types';`      
@asyncapi/generator-react-sdk:build: src/components/Text.tsx(48,105): error TS7031: Binding element 'childrenContent' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build: src/components/Text.tsx(50,10): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. 'C:/Users/siban/Local Repos/generator/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react/jsx-runtime';`    
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(1,19): error TS7016: Could not find a declaration file for module 'react'. 'C:/Users/siban/Local Repos/generator/node_modules/react/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(4,1): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(5,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(7,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(10,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(12,14): error TS7016: Could not find a declaration file for module 'react/jsx-runtime'. 'C:/Users/siban/Local Repos/generator/node_modules/react/jsx-runtime.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react/jsx-runtime';`    
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(16,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(19,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(29,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(32,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(56,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(59,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(69,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(72,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(78,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(81,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(106,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(109,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(123,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(126,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(139,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(142,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(152,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(155,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(158,9): error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(160,9): error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/renderer.spec.tsx(171,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(5,1): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(6,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(10,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(11,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(12,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(15,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(19,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(20,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(21,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(22,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(23,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(24,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(25,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(28,3): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(32,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(33,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/__tests__/template.spec.ts(34,5): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/renderer/renderer.ts(23,33): error TS2503: Cannot find namespace 'React'.
@asyncapi/generator-react-sdk:build: src/renderer/renderer.ts(23,54): error TS2503: Cannot find namespace 'React'.
@asyncapi/generator-react-sdk:build: src/renderer/renderer.ts(63,35): error TS2503: Cannot find namespace 'React'.
@asyncapi/generator-react-sdk:build: src/renderer/renderer.ts(63,35): error TS4078: Parameter 'component' of exported function has or is using private name 'React'.
@asyncapi/generator-react-sdk:build: src/renderer/renderer.ts(70,49): error TS2503: Cannot find namespace 'React'.
@asyncapi/generator-react-sdk:build: src/renderer/renderer.ts(74,43): error TS2503: Cannot find namespace 'React'.
@asyncapi/generator-react-sdk:build: src/renderer/template.ts(1,19): error TS7016: Could not find a declaration file for module 'react'. 'C:/Users/siban/Local Repos/generator/node_modules/react/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build:   Try `npm i --save-dev @types/react` if it exists or add a new declaration (.d.ts) file containing `declare module 'react';`
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(12,1): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(16,3): error TS2304: Cannot find name 'beforeAll'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(16,20): error TS7006: Parameter 'done' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(28,3): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(29,5): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(33,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(35,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(37,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(38,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(41,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(43,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(48,3): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(49,5): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(53,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(55,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(57,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(58,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(61,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(63,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(68,3): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(69,5): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(73,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(75,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(77,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(78,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(81,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(83,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(88,3): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(89,5): error TS2582: Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(93,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(95,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(97,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(98,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(101,7): error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.
@asyncapi/generator-react-sdk:build: src/transpiler/__tests__/transpiler.spec.tsx(103,9): error TS2304: Cannot find name 'expect'.
@asyncapi/generator-react-sdk:build: src/types.ts(1,19): error TS7016: Could not find a declaration file for module 'react'. 'C:/Users/siban/Local Repos/generator/node_modules/react/index.js' implicitly has an 'any' type.
@asyncapi/generator-react-sdk:build: npm error Lifecycle script `build` failed with error:
@asyncapi/generator-react-sdk:build: npm error Lifecycle script `build` failed with error:
@asyncapi/generator-react-sdk:build: npm error code 1
@asyncapi/generator-react-sdk:build: npm error path C:\Users\siban\Local Repos\generator\apps\react-sdk
@asyncapi/generator-react-sdk:build: npm error workspace @asyncapi/[email protected]
@asyncapi/generator-react-sdk:build: npm error location C:\Users\siban\Local Repos\generator\apps\react-sdk
@asyncapi/generator-react-sdk:build: npm error command failed
@asyncapi/generator-react-sdk:build: npm error command C:\WINDOWS\system32\cmd.exe /d /s /c tsc
@asyncapi/generator-react-sdk:build: ERROR: command finished with error: command (C:\Users\siban\Local Repos\generator\apps\react-sdk) C:\Program Files\nodejs\npm.cmd run build exited (1)
@asyncapi/generator-react-sdk#build: command (C:\Users\siban\Local Repos\generator\apps\react-sdk) C:\Program Files\nodejs\npm.cmd run build exited (1)

 Tasks:    3 successful, 7 total
Cached:    0 cached, 7 total
  Time:    10.789s
Failed:    @asyncapi/generator-react-sdk#build

 ERROR  run failed: command  exited (1)

After running npm i

PS C:\Users\siban\Local Repos\generator> npm i
npm error code EBADENGINE
npm error engine Unsupported engine
npm error engine Not compatible with your version of node/npm: @stoplight/[email protected]
npm error notsup Not compatible with your version of node/npm: @stoplight/[email protected]
npm error notsup Required: {"node":"^16.20 || ^18.18 || >= 20.17"}
npm error notsup Actual:   {"npm":"10.9.3","node":"v20.14.0"}
npm error A complete log of this run can be found in: C:\Users\siban\AppData\Local\npm-cache\_logs\2025-09-23T13_54_15_663Z-debug-0.log

Let me update my node version

@Adi-204
Copy link
Member

Adi-204 commented Sep 23, 2025

yeah please update the node and after running npm run test it should look like below -

image

@thulieblack
Copy link
Member Author

thank you so much Adi, it worked

image

@derberg
Copy link
Member

derberg commented Sep 24, 2025

@thulieblack do you plan to add more commits to this PR? as for now I do not see it addressing the scope of the issue, the decomponentization

@thulieblack
Copy link
Member Author

Didn't you mention that I need to add create a PR for each component? https://asyncapi.slack.com/archives/C072JMTJ85Q/p1757513137652219?thread_ts=1757501093.164179&cid=C072JMTJ85Q

Or do I add it on this PR alongside the new Python readme?

@derberg
Copy link
Member

derberg commented Sep 25, 2025

@thulieblack yes, but in your PR you just add a new readme template, no components, and do not reuse from the other readme - so you do not identify common parts and do not create components

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
packages/templates/clients/websocket/python/components/Overview.js (1)

10-12: Skip bullets when metadata is missing

When the AsyncAPI document has no default server (or the helper fails to resolve one) the README currently prints - **Server URL:** undefined, which looks broken and undermines the componentization effort. Same risk applies to version if the input omits it. Better to add those bullets only when the values exist.

Proposed tweak:

-      {`# ${title}
-
-## Overview
-
-${description || `A WebSocket client for ${title}.`}
-- **Version:** ${version}
-- **Server URL:** ${serverUrl}
-`}
+      {[
+        `# ${title}`,
+        '',
+        '## Overview',
+        '',
+        description || `A WebSocket client for ${title}.`,
+        version ? `- **Version:** ${version}` : null,
+        serverUrl ? `- **Server URL:** ${serverUrl}` : null,
+      ]
+        .filter(Boolean)
+        .join('\n')}
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dd983f3 and df08e03.

⛔ Files ignored due to path filters (1)
  • packages/templates/clients/websocket/test/integration-test/__snapshots__/integration.test.js.snap is excluded by !**/*.snap
📒 Files selected for processing (1)
  • packages/templates/clients/websocket/python/components/Overview.js (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Test generator as dependency with Node 18
  • GitHub Check: Test generator as dependency with Node 20
  • GitHub Check: Acceptance tests for generated templates
  • GitHub Check: Test NodeJS PR - macos-13
  • GitHub Check: Test NodeJS PR - ubuntu-latest
  • GitHub Check: Test NodeJS PR - windows-latest

@thulieblack
Copy link
Member Author

@derberg I did follow the example can you check again unless im missing something

Adi-204
Adi-204 previously approved these changes Dec 4, 2025
Copy link
Member

@Adi-204 Adi-204 left a comment

Choose a reason for hiding this comment

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

@thulieblack please change PR title and add feat: instead of chore: as mention in #1725 (comment) point 1.

@thulieblack thulieblack changed the title chore: add python readme feat: add python readme Dec 4, 2025
Copy link
Member

@derberg derberg left a comment

Choose a reason for hiding this comment

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

there is one thing to clarify by @Adi-204 and we can merge

please add one more change, from https://github.com/asyncapi/generator/blob/master/.github/workflows/release-with-changesets.yml#L98 to uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master

@thulieblack
Copy link
Member Author

there is one thing to clarify by @Adi-204 and we can merge

please add one more change, from https://github.com/asyncapi/generator/blob/master/.github/workflows/release-with-changesets.yml#L98 to uses: asyncapi/.github/.github/actions/get-node-version-from-package-lock@master

Should I wait for Adi on this or I need to make the change @derberg

Copy link
Member

@derberg derberg left a comment

Choose a reason for hiding this comment

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

@thulieblack all good just 2 things to do

  • create folloup issues, tasks to work on AvailableOperations and Installation so they are not hardcoded to just one language. 2 separate issues
  • for GenerateReadme.js and GenerateReadMe.js please perform rename. Just call file Readme.js and component Readme to stay consistent with other components naming

@thulieblack
Copy link
Member Author

thulieblack commented Dec 9, 2025

@Adi-204 @derberg tests are failing

Nevermind forgot to push changes

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
packages/components/src/components/readme/Readme.js (1)

1-34: Readme composition and conditional sections look solid

The Readme component cleanly wires together Overview, Installation, Usage, CoreMethods, and AvailableOperations, and the language-based flags on Line 16–Line 18 keep Python and JavaScript behavior straightforward. Computing operations only when language === 'javascript' (Line 18) avoids unnecessary work for other languages.

Only small ask: double‑check that all templates invoking this component always provide the expected params fields (server, clientFileName, appendClientSuffix, customClientName) so README generation doesn’t accidentally render undefined values if a template diverges.

If you want, I can help sketch a tiny guard or defaulting layer around params to make this component more defensive.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0a1e717 and 1e429b3.

📒 Files selected for processing (2)
  • packages/components/src/components/readme/Readme.js (1 hunks)
  • packages/components/src/index.js (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-04-23T09:18:38.333Z
Learnt from: derberg
Repo: asyncapi/generator PR: 1512
File: packages/templates/clients/websocket/javascript/components/AvailableOperations.js:10-15
Timestamp: 2025-04-23T09:18:38.333Z
Learning: In the asyncapi/generator repository, keys aren't required when mapping over operations array in the AvailableOperations component, contrary to the typical React pattern.

Applied to files:

  • packages/components/src/components/readme/Readme.js
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Test generator as dependency with Node 18
  • GitHub Check: Test generator as dependency with Node 20
  • GitHub Check: Acceptance tests for generated templates
  • GitHub Check: Test NodeJS PR - windows-latest
  • GitHub Check: Test NodeJS PR - macos-latest
  • GitHub Check: Test NodeJS PR - ubuntu-latest
🔇 Additional comments (1)
packages/components/src/index.js (1)

15-20: New readme-related exports are consistent and minimal

The additional exports for RegisterErrorHandler and the readme components (Line 15–Line 20) are coherent with the existing barrel pattern and keep naming aligned with the underlying files. No issues from an API-surface or maintainability perspective.

@derberg
Copy link
Member

derberg commented Dec 11, 2025

you forgot about #1725 (comment)

@sonarqubecloud
Copy link

@derberg
Copy link
Member

derberg commented Dec 11, 2025

/rtm

@asyncapi-bot asyncapi-bot merged commit 715c1d2 into asyncapi:master Dec 11, 2025
19 checks passed
@thulieblack thulieblack deleted the py-readme branch December 11, 2025 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants