<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MagicMirror Module Sandbox]]></title><description><![CDATA[<p dir="auto">Hi everyone!</p>
<p dir="auto">I wanted to share something that came from my own frustration developing MagicMirror modules.</p>
<p dir="auto">For years, testing a module meant either setting up a full MagicMirror installation (overkill for just iterating on one module), or developing blind and hoping it works when you finally deploy.</p>
<p dir="auto">I built MagicMirror Module Sandbox to change that. It’s a lightweight dev tool that spins up a local testing environment for your module in seconds — no full MagicMirror install, no Docker, just your module and a browser window.</p>
<p dir="auto"><img src="/assets/uploads/files/1777687821836-runtime-lifecycle.png" alt="runtime-lifecycle.png" class=" img-fluid img-markdown" /></p>
<h3>What you get:</h3>
<ul>
<li>🚀 Zero setup — Run <code>npx @angeldeejay/magicmirror-module-sandbox </code>from inside your module folder and you’re done</li>
<li>⚡ Live reload — Changes to your config or module files reload instantly</li>
<li>🎛️ Visual config editor — Edit your module’s config through a browser UI instead of hand-editing JSON</li>
<li>🔄 Full MagicMirror lifecycle — Simulates start(), notificationReceived(), updateDom(), and all real lifecycle hooks</li>
<li>🔌 Real node_helper.js support — <a href="http://Socket.io" target="_blank" rel="noopener noreferrer nofollow ugc">Socket.io</a> communication works exactly like production</li>
<li>🐛 Debug panel — Inspect both helper logs (server-side) and browser console in one place</li>
<li>📡 Notifications inspector — Send frontend notifications, monitor socket traffic in real time</li>
<li>✅ Module quality check — Quick analysis against MagicMirror’s third-party module standards</li>
</ul>
<h3>How to use it:</h3>
<h4>One-off test (no install needed)</h4>
<pre><code class="language-sh">npx @angeldeejay/magicmirror-module-sandbox
</code></pre>
<p dir="auto">Then open <a href="http://localhost:3010" target="_blank" rel="noopener noreferrer nofollow ugc">http://localhost:3010</a> and start hacking.</p>
<p dir="auto">Works great for:</p>
<ul>
<li>Rapid iteration while developing</li>
<li>Validating config changes before deploying to your Pi</li>
<li>Testing in CI pipelines (Playwright integration test support included)</li>
<li>Debugging why a module behaves differently on the actual MagicMirror</li>
</ul>
<p dir="auto">GitHub: <a href="https://github.com/angeldeejay/magicmirror-module-sandbox" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/angeldeejay/magicmirror-module-sandbox</a><br />
npm: <a href="https://www.npmjs.com/package/@angeldeejay/magicmirror-module-sandbox" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.npmjs.com/package/@angeldeejay/magicmirror-module-sandbox</a></p>
<p dir="auto">This is <strong>v1.1.0</strong>, tested across real third-party modules. Stable and ready to use.</p>
<p dir="auto">If you’re a module developer, I’d love to hear what you think — open issues if something doesn’t behave as expected, or let me know what you’d like to see next.</p>
]]></description><link>https://forum.magicmirror.builders/topic/20236/magicmirror-module-sandbox</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 12:43:47 GMT</lastBuildDate><atom:link href="https://forum.magicmirror.builders/topic/20236.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 May 2026 02:11:18 GMT</pubDate><ttl>60</ttl></channel></rss>