Digital-Alchemy-TS / Digital-Alchemy-TS/code-glue

Generic patching plugin system

Open
#14 0 comments 0 reactions 1 assignee Claimed by @zoe-codez View on GitHub
enhancement scope:backend
Dominant language
TypeScript
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## 🪤 Context

- #13

One of the design requirements for virtual services is the ability to enable / disable at any time. In order to do that without creating accidental memory leaks, the outside coordinator needs a way to patch these reliably without adversely affecting the underlying libraries for normal day to day usage

It's easy to spin these up, but harder to not do things like leaving open event handles open. `hass` had to have some invasive patches for `refBy`, and that's a thing that will be repeated across all libraries

What seems best is to flip control of the situation, and implement a plugin registration system. Modules that want to participate in code-glue need to register plugins that will provide a wrapper around their functionality. The wrapper will allow for the tracking and cleanup of refs that the library creates

## 🩻 Additional details

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.