Skip to content

Typscript Support and OpenAPI Gen v7#5

Merged
mshriver merged 13 commits into
mainfrom
typescript-and-updates
Nov 5, 2025
Merged

Typscript Support and OpenAPI Gen v7#5
mshriver merged 13 commits into
mainfrom
typescript-and-updates

Conversation

@mshriver

@mshriver mshriver commented Oct 31, 2025

Copy link
Copy Markdown
Contributor

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.

  • Client/Language:
    • Migrate from JavaScript to TypeScript; replace old src/**/*.js and docs/** with new TS runtime, apis, and models.
    • Regenerate client using OpenAPI Generator v7.16.0.
  • API Surface:
    • Add new APIs: AdminProjectManagementApi, AdminUserManagementApi, DashboardApi, LoginApi, TaskApi, UserApi (tokens), alongside updated Artifact/Group/Health/Import/Project/Result/Run/Widget* APIs.
    • Expand models (e.g., Result enums, tokens/login, dashboards); Artifact now supports runId, JSON additionalMetadata, uploadDate; list endpoints accept new filters (e.g., estimate, runId).
  • Build/Packaging:
    • Add dual outputs: CommonJS (dist/index.js) and ESM (dist/index.mjs) with types and exports map.
    • Introduce tsconfig.json and tsconfig.esm.json; update package.json scripts; add portable-fetch runtime dep.
  • Tooling/Config:
    • Add ESLint/Prettier configs; extend .gitignore.
    • Overhaul regenerate-client.sh to 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.

Copilot AI review requested due to automatic review settings October 31, 2025 16:31
Comment thread src/models/AccountRecovery.ts

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Comment thread src/apis/ImportApi.ts Outdated
Comment thread src/apis/ImportApi.ts Outdated
Comment thread src/apis/AdminProjectManagementApi.ts
Comment thread src/apis/AdminUserManagementApi.ts Outdated
Comment thread src/apis/DashboardApi.ts
Comment thread src/models/WidgetTypeList.ts Outdated
Comment thread src/models/WidgetTypeList.ts
Comment thread src/models/WidgetTypeList.ts
Comment thread src/models/WidgetType.ts Outdated
Comment thread src/models/WidgetType.ts
@mshriver mshriver added the enhancement New feature or request label Nov 4, 2025
@mshriver mshriver force-pushed the typescript-and-updates branch from 584bab4 to dff0ee8 Compare November 4, 2025 14:44
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
@mshriver mshriver force-pushed the typescript-and-updates branch from 09ebd5b to 46d171e Compare November 5, 2025 13:07
@mshriver mshriver merged commit 245c4f8 into main Nov 5, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants