Skip to content

companion: port to TypeScript#6179

Open
kvz wants to merge 28 commits intomainfrom
ts-companion-renames
Open

companion: port to TypeScript#6179
kvz wants to merge 28 commits intomainfrom
ts-companion-renames

Conversation

@kvz
Copy link
Copy Markdown
Member

@kvz kvz commented Feb 11, 2026

Supersedes #6178.

This branch keeps the exact same final content as #6178, but splits history for reviewability:

  1. chore(companion): rename source and test files from .js to .ts (pure git mv, no content changes)
  2. feat(companion): port Companion to TypeScript (actual content/type/schema/build updates)

Validation note:

  • Final tree is byte-for-byte identical to ts-companion (7b5b16a298690b0492de4cc4fab744f998b45570).

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Feb 11, 2026

⚠️ No Changeset found

Latest commit: 2603299

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

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

@kvz kvz self-assigned this Feb 11, 2026
@kvz kvz requested review from Murderlon and mifi February 11, 2026 07:21
@@ -1,3 +0,0 @@
#!/usr/bin/env node
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

the new bin points to dist/

run:
corepack yarn install
- run: corepack yarn run typecheck
- run: corepack yarn workspace @uppy/companion lint:ts
Copy link
Copy Markdown
Member Author

@kvz kvz Feb 11, 2026

Choose a reason for hiding this comment

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

Extra strict typescript options, but just for linting, as to remain compatible with status quo outputs for now

@Murderlon
Copy link
Copy Markdown
Contributor

I ran it through Devin Review, it has some comments: https://app.devin.ai/review/transloadit/uppy/pull/6179

@socket-security
Copy link
Copy Markdown

socket-security bot commented Feb 11, 2026

No dependency changes detected. Learn more about Socket for GitHub.

👍 No dependency changes detected in pull request

@kvz
Copy link
Copy Markdown
Member Author

kvz commented Feb 11, 2026

I ran it through Devin Review, it has some comments: https://app.devin.ai/review/transloadit/uppy/pull/6179

That was helpful! Added the patches to address. Also kicked another review and added patches for the findings then. Each time covered by added regression tests.

This workflow outputs the differences between two versions of the code in the 'lib' folders after a push or pull request event.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 2, 2026

Diff output files
No diff

@mifi
Copy link
Copy Markdown
Contributor

mifi commented Mar 2, 2026

I cannot believe that the dist js output diff is empty 🤔

mifi added 7 commits March 10, 2026 00:59
- improve types
- simplify, undo some unnecessary complications
- use tsconfig.lint.json by default when developing (merge it into tsconfig.json)
- fix some subtle bugs
we don't need to test AWS internal code
else it's very confusing when developing, because we will get errors when running yarn build, but not in vscode
@mifi
Copy link
Copy Markdown
Contributor

mifi commented Mar 10, 2026

Ok I now consider this PR finished and the typescript support is complete. Do you want to have a look @Murderlon or shall we merge it?

I would probably release this a major as a safe guard because the refactor is quite extensive and in case we accidentally broke something people will be prepared, as opposed to a minor/patch.

If we release it as a major, we should probably also include other things like #6175


const adaptData = (userResponse, results) => {
if (!results) {
function isZoomRecordingFile(value: unknown): value is ZoomRecordingFile {
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.

a bit crazy refactor here but i trust it's correct.

@mifi
Copy link
Copy Markdown
Contributor

mifi commented Mar 11, 2026

@kvz what do you think? release it as a major or minor?

@kvz
Copy link
Copy Markdown
Member Author

kvz commented Mar 16, 2026

I'm thinking a Major, and indeed including all the things from our major wishlist

@mifi
Copy link
Copy Markdown
Contributor

mifi commented Mar 29, 2026

I have resolved the feedback and I think this is ready to merge as soon as we want to go major release of companion. we should consider whether we should merge/release #6248 first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants