Dear Sam, @sdetweil
yes — my MMM-PresenceScreenControl module is one of those. It uses node-libgpiod (native C addon for GPIO/PIR sensor
access), which requires @electron/rebuild to match Electron’s Node ABI.
That said, the module has had an automatic fallback since v1.1.0: if node-libgpiod fails to compile or rebuild, it
transparently falls back to Python/gpiozero for PIR sensor access. So it will work without a successful
electron-rebuild — just via a different code path.
The dependency setup (as of v1.3.1):
node-libgpiod is an optionalDependency (npm continues if it fails)
@electron/rebuild is not listed as a dependency — it’s installed on-demand by the postinstall script only when
node-libgpiod is actually present
If either fails, the module falls back to Python gracefully
So for your testing: this module would be a good candidate to verify if electron-rebuild still works, but it won’t
break if it doesn’t.
My other modules (MMM-Globe, MMM-Best-Weather, MMM-My-Actual-Weather, etc.) are pure JavaScript — no native addons, no
electron-rebuild needed.
Hope this helps.
Warmest regards,
Ralf