Typscript Support and OpenAPI Gen v7#5
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request migrates the Ibutsu API client from JavaScript to TypeScript, representing a complete rewrite of the generated API client code using a newer version of the OpenAPI Generator. The changes include new TypeScript configuration, updated API structure, and the removal of legacy JavaScript files.
Key changes:
- Added TypeScript configuration files (
tsconfig.json,tsconfig.esm.json) with strict type checking enabled - Migrated from JavaScript (ES6 classes) to TypeScript with modern interfaces and type definitions
- Updated API version from 1.9.0 to 2.8.3, introducing new endpoints and models
- Restructured project to use TypeScript module system with proper type exports
Reviewed Changes
Copilot reviewed 131 out of 133 changed files in this pull request and generated 72 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | TypeScript configuration with strict mode and ES2020 target |
| tsconfig.esm.json | ESM-specific TypeScript configuration extending base config |
| src/runtime.ts | Core runtime utilities and base API classes for TypeScript client |
| src/models/*.ts | TypeScript model definitions replacing JavaScript classes |
| src/apis/*.ts | TypeScript API implementations with type-safe request/response handling |
| src/index.ts | Main entry point exporting runtime, APIs, and models |
| src/model/*.js | Removed legacy JavaScript model files |
| src/index.js | Removed legacy JavaScript entry point |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
yarn isn't available in pre-commit CI
584bab4 to
dff0ee8
Compare
Move to an unscoped package, ibutsu-client-ts This will differentiate from the existing javascript release in the ibutsu org
relaxed rules specifically for generated code, but some strict rules still applied and auto-fixed in generated code
09ebd5b to
46d171e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sonnet iteration including eslint, prettier, and typescript configuration.
Generate client with openapi v7.16
Updates to regenerate-client script to align with ibutsu-client-python generation specification.
Note
Rewrites the JavaScript client to TypeScript with a regenerated API (OpenAPI v7.16), adds new endpoints/types, dual ESM/CJS packaging, and modern lint/format/tooling.
src/**/*.jsanddocs/**with new TSruntime,apis, andmodels.AdminProjectManagementApi,AdminUserManagementApi,DashboardApi,LoginApi,TaskApi,UserApi(tokens), alongside updatedArtifact/Group/Health/Import/Project/Result/Run/Widget*APIs.Resultenums, tokens/login, dashboards);Artifactnow supportsrunId, JSONadditionalMetadata,uploadDate; list endpoints accept new filters (e.g.,estimate,runId).dist/index.js) and ESM (dist/index.mjs) withtypesandexportsmap.tsconfig.jsonandtsconfig.esm.json; updatepackage.jsonscripts; addportable-fetchruntime dep..gitignore.regenerate-client.shto use Podman, version bumping, selective copy, and auto-format/lint.Written by Cursor Bugbot for commit 6a09be5. This will update automatically on new commits. Configure here.