Skip to content

Conversation

@Julusian
Copy link
Member

@Julusian Julusian commented Jan 14, 2026

About the Contributor

This pull request is posted on behalf of Superfly

Type of Contribution

This is a: Code improvement

Current Behavior

When building the TS, we are using lerna to spawn tsc for each package individually.

This makes it rather memory hungry, and if an error is encountered typically means running it all again

I find the watcher output quite confusing, you can never quite be sure if everything is happy or if only the package you just edited is happy and other ones dependent on it are still erroring.

New Behavior

This now utilises the typescript projects and references functionality. There is a single 'root' tsconfig inside packages, which will build and typecheck everything in one go.

This means that there is one stream of type error output, which shows everything in one go with one count of number of errors. Fixing one error will reflect that in all referencing projects instead of burying errors higher up the terminal history.

A crude memory test locally, spawning in watch mode:

  • Before: 6.3GB of memory used once it stabilises
  • After: 1.5GB once stabilised peak at 1.8GB (this is also type checking meteor, which was not done before)

I have not touched the openapi package in this, as that was commonly excluded to avoid a dependency on java.

Some of the build workflows have been refined a bit so that every branch will build the docker images, just not push them unless the existing rules are met. I did this as I noticed that I had caused some build failures that only appeared on the superfly fork, as the main repositry is only setup to build images for releases

As a follow up, I intend to give the same treatment to linting and tests, as I find those have similar pain points

Testing

  • I have added one or more unit tests for this PR
  • I have updated the relevant unit tests
  • No unit test changes are needed for this PR

Affected areas

Time Frame

Other Information

Status

  • PR is ready to be reviewed.
  • The functionality has been tested by the author.
  • Relevant unit tests has been added / updated.
  • Relevant documentation (code comments, system documentation) has been added / updated.

@coderabbitai
Copy link

coderabbitai bot commented Jan 14, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

@codecov
Copy link

codecov bot commented Jan 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Julusian Julusian force-pushed the chore/unified-tsc branch 2 times, most recently from bf19885 to 3c71728 Compare January 20, 2026 14:30
@Julusian Julusian marked this pull request as ready for review January 20, 2026 15:45
@Julusian Julusian requested a review from a team as a code owner January 20, 2026 15:45
"composite": true
},
"references": [
//
Copy link
Member

Choose a reason for hiding this comment

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

this is a syntax error, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, typescript allows comments in its json files.

I am using comments here to force prettier to format this array across multiple lines, to make it easier to read

@jstarpl jstarpl added Contribution from SuperFly.tv Contributions sponsored by SuperFly.tv Contribution External contribution labels Jan 22, 2026
@Julusian Julusian merged commit 1686404 into Sofie-Automation:release53 Jan 26, 2026
35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Contribution from SuperFly.tv Contributions sponsored by SuperFly.tv Contribution External contribution

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants