Skip to main content

NodeCG v2!

· 3 min read

This has been in the making for a while now but the final checks are complete and NodeCG v2 has been released!

What's changed?

For bundle developers? Nothing really... but in a good way. This means that bundles can be migrated over to v2 with little to no changes required. This update is more about making it easier for NodeCG core developers to develop new features that you can use in the future.

Please refer to the migration docs for more information and if you need any help please don't hesitate to reach out to the Discord!

TypeScript rewrite

The biggest and most important change for NodeCG is that it is now written in TypeScript. This will greatly benefit developers of NodeCG core and also allow bundle developers to more easily use types through the @nodecg/types package.

NodeCG repository now contains only source code

NodeCG used to contain its build outputs in the repository. This was helpful at the time, since all that was needed was to install the dependencies and you were off to the races. However, in v2 this has changed. If you use nodecg-cli, make sure to download the latest version in order for v2 to install correctly (npm i -g nodecg-cli@latest). Developers who would clone manually must now install all dependencies (npm i) and run npm run build themselves.

Running into issues?

If you are having any issues at all with version 2, please post an issue on our GitHub or reach out to our Discord.

Future

NodeCG waiting to be rewritten in TypeScript was a major blocker for new developments to the project. It was also a massive undertaking, which is why it took so long to develop.

Now that it's written in TypeScript we can start developing new features that have been long requested such as:

  • Per-user permissions
  • Reworked project structure
  • Better bundle management
  • Internationalization
  • Updating the dashboard UI to React (will not affect bundles, just the internal code of the dashboard. You will never be forced to write your bundles in any specific framework.)
  • and more!

Thanks to

  • Lange for lead development of v2
  • Keiichiro Amemiya for assisting in direction and development of v2
  • zoton2 for testing & feedback
  • Ewan Lyon for testing & feedback
  • Daniel for testing & feedback
  • Dan Shields for fixes & feedback
  • Jon Egeland for major contributions to the architecture of the code
  • Dom Hynes for fixes & feedback
  • The NodeCG community for their patience and support during this time