Skip to main content

4 posts tagged with "event-bus"

View All Tags

· 2 min read

This is the first release of the scripts within the new monorepo structure. For some background about the changes see here. Were're here now to celebrate the release itself! ❤️

New Script: Queue Manager

The queue manager introduced with this release is meant to make it easier to use the in-game queueing with your scripts. It tracks the queue, allows you to queue client-side commands and tries to integrate as seamlessly as possible with external queue sources.

This release does not allow for the foll flexibility of the in-game queueing yet (like prepending or adding at certain places in the queue), but it should be enough to vet the implementation. For more details, please refer to the documentation.

Developer Documentation

Due to the switch to the monorepo structure, I added a lot of additional developer documentation, like READMEs, a Code of Conduct and Contribution Guidelines. Please have a look!

More Infrastructure Changes

In addition to the overall layout change of the repository and all linked changes, I also switch from dependabot to renovate. This hopefully further decreases the dependency maintenance burden as dependency upgrades are now bundled together. Currently, this still has some kinks to straighten out, but I'm sure we will get there.

Other Changes

Most packages should now export their classes as a global library, which webpack then can use to avoid bundling all the code with yours. This is still untested, so expect further changes in that area.

Additionally, quite a few of the linter and test rules saw some harmonization, which prompted a few non-code changes to follow best practices.

If you like the project, please consider leaving a star on the GitHub project and sponsoring me.

· One min read

This release does not contain any changes to the code of the event bus itself. Rather, it facilitates improvements to the packaging, adding version and website information directly into the package.

Additionally, dependencies were updated.

Version 0.5.1 contained infrastructure fixes only.

If you find bugs, would like to see more features and discuss particular design choices, feel free to create a new issue to get in touch.

If you like the project, please consider leaving a star on the GitHub project and sponsoring me.

· One min read

This release contains a number of small bits and bops here and there to finetune the package and give it some extra shine:

  • Fix a possible security issue due to prototype polution
  • Inject version number into loading log message
  • Add hack to get the Map class back
  • Move raising specialized gmcp events to the NXS package for improved visibility and document them

If you like the project, please consider leaving a star on the GitHub project and sponsoring me.

· 2 min read

This release is something, the Achaean Player Khaseem wished for. He's been using the original EventStream module of NexSys very extenively. However, he'd like to move to an external package to help the adoption of a standard set of Nexus packages.

The original EventStream had a set of features that were part of his development flow: The ability to unsubscribe from events using a function name and access to the list of subscribers to an event.

While the former is about a preferred coding style, the latter is useful for debugging code: That way you can easily have a look at the list of subscribers to an event and determine if all subscribers actually belong there at this point.

New Features

You may now subscribe or unsubscribe to events using a callback function name instead of a function reference. To avoid accidental overwriting of existing callbacks, especially between different users of the EventBus, duplicate subscription names generate an error. So you may want to namespace your event names.

You can now access the list of subscribers to an event using the getSubscribers method. This allows easy inspection of the subscription state of callbacks. The subscribers may not be changed this way.

If you like the project, please consider leaving a star on the GitHub project and sponsoring me.