Skip to content

Claude AI: Part 2: Convert Web .js files to .ts#360

Draft
klondikemarlen wants to merge 23 commits intomainfrom
claude/migrate-apis-typescript-01MXFpL2jAFbFBu5DXuJETBz
Draft

Claude AI: Part 2: Convert Web .js files to .ts#360
klondikemarlen wants to merge 23 commits intomainfrom
claude/migrate-apis-typescript-01MXFpL2jAFbFBu5DXuJETBz

Conversation

@klondikemarlen
Copy link
Member

Relates to:

Context

We have a lot of plain .js code in the front-end. If we convert it all to TypeScript, it will make the migration from Vue 2 to Vue 3 much easier.
I'm getting Claude Code to do the conversions, and then I'll review each one and make sure it is up to standard.

Implementation

  1. Migrate some web APIs to use Typescript.
  2. Use Claude Code. I think it should be able to do a lot more of these migration given some more examples. This will pave the way for the Vue 3 migration, and effectively make most of it a background task.

Screenshots

N/a.

Testing Instructions

  1. Run the test suite via dev test (or dev test_api)
  2. Boot the app via dev up
  3. Log in to the app at http://localhost:8080
  4. Make sure the app still boots.

@klondikemarlen klondikemarlen self-assigned this Dec 12, 2025
@klondikemarlen klondikemarlen added the refactor Improves code's internal structure without changing its behavior. label Dec 12, 2025
@github-project-automation github-project-automation bot moved this to 🏗 In progress in Travel Authorization Dec 12, 2025
@klondikemarlen klondikemarlen force-pushed the claude/migrate-apis-typescript-01MXFpL2jAFbFBu5DXuJETBz branch from dc018a1 to 1ab4ab5 Compare December 15, 2025 15:48
@klondikemarlen klondikemarlen force-pushed the claude/migrate-apis-typescript-01MXFpL2jAFbFBu5DXuJETBz branch from 1ab4ab5 to 53ddf56 Compare December 19, 2025 18:37
klondikemarlen and others added 7 commits December 19, 2025 12:26
…ofiles.

Standardize response to include appropriate reference serializers.
Add TravelDeskHotelAsIndex type to match backend IndexSerializer pattern.
Update list() return type to use AsIndex type for better type safety.
Add TravelDeskOtherTransportationAsIndex type to match backend IndexSerializer pattern.
Update list() return type to use AsIndex type for better type safety.
Add TravelDeskRentalCarAsIndex type to match backend IndexSerializer pattern.
Update list() return type to use AsIndex type for better type safety.
@klondikemarlen klondikemarlen force-pushed the claude/migrate-apis-typescript-01MXFpL2jAFbFBu5DXuJETBz branch from c01eaf3 to eeebaf8 Compare January 2, 2026 16:21
klondikemarlen and others added 3 commits January 2, 2026 09:22
Convention should be "AsXYZ"
…ubmissions-api

Add TravelAuthorizationPreApprovalSubmissionAsIndex and AsShow types to match
controller's index and show routes which include nested associations.

- AsIndex includes preApprovals with profiles
- AsShow includes documents and preApprovals with profiles
- Use TravelAuthorizationPreApprovalAsReference for nested preApprovals
- Define TravelAuthorizationPreApprovalDocument type for documents association
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor Improves code's internal structure without changing its behavior.

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

2 participants