mirror of
https://github.com/MichMich/MagicMirror.git
synced 2026-06-03 09:51:14 +00:00
This PR rewrites `module.js` to use a native ES6 `class` instead of `Class.extend()` - the same old inheritance helper that was removed from `node_helper.js` in #4147. The normal module API stays the same: modules still use `Module.register({...})`. Internally, `Module.create()` now creates a named subclass for each module, copies over a cloned definition, and only calls `init()` when it is actually a function. Outcome: one less file in the browser bundle, no more magic `_super()` wiring, better stack traces, and tests for the module creation path that did not exist before. `module.js` is also now a plain class with no external dependencies - an intentional step towards `export default Module` when browser scripts eventually move to native ES modules. Since these changes touch the core of how modules are created, I'd appreciate a close review and any feedback on edge cases I may have missed.
62 lines
3.0 KiB
HTML
62 lines
3.0 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title>MagicMirror²</title>
|
|
<meta name="google" content="notranslate" />
|
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
|
<meta name="format-detection" content="telephone=no" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
|
|
<link rel="icon" href="favicon.svg" />
|
|
<link rel="stylesheet" type="text/css" href="css/main.css" />
|
|
<link rel="stylesheet" type="text/css" href="css/roboto.css" />
|
|
<link rel="stylesheet" type="text/css" href="node_modules/animate.css/animate.min.css" />
|
|
<!-- custom.css is loaded by the loader.js to make sure it's loaded after the module css files. -->
|
|
|
|
<script type="text/javascript">
|
|
window.mmVersion = "#VERSION#";
|
|
window.mmTestMode = "#TESTMODE#";
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="region fullscreen below"><div class="container"></div></div>
|
|
<div class="region top bar">
|
|
<div class="container"></div>
|
|
<div class="region top left"><div class="container"></div></div>
|
|
<div class="region top center"><div class="container"></div></div>
|
|
<div class="region top right"><div class="container"></div></div>
|
|
</div>
|
|
<div class="region upper third"><div class="container"></div></div>
|
|
<div class="region middle center"><div class="container"></div></div>
|
|
<div class="region lower third">
|
|
<div class="container"><br /></div>
|
|
</div>
|
|
<div class="region bottom bar">
|
|
<div class="container"></div>
|
|
<div class="region bottom left"><div class="container"></div></div>
|
|
<div class="region bottom center"><div class="container"></div></div>
|
|
<div class="region bottom right"><div class="container"></div></div>
|
|
</div>
|
|
<div class="region fullscreen above"><div class="container"></div></div>
|
|
<script type="text/javascript" src="socket.io/socket.io.js"></script>
|
|
<script type="text/javascript" src="node_modules/nunjucks/browser/nunjucks.min.js"></script>
|
|
<script type="text/javascript" src="js/defaults.js"></script>
|
|
<script type="text/javascript" src="js/vendor.js"></script>
|
|
<script type="text/javascript" src="defaultmodules/defaultmodules.js"></script>
|
|
<script type="text/javascript" src="defaultmodules/utils.js"></script>
|
|
<script type="text/javascript" src="js/logger.js"></script>
|
|
<script type="text/javascript" src="translations/translations.js"></script>
|
|
<script type="text/javascript" src="js/translator.js"></script>
|
|
<script type="text/javascript" src="config/basepath.js"></script>
|
|
<script type="text/javascript" src="js/module.js"></script>
|
|
<script type="text/javascript" src="js/loader.js"></script>
|
|
<script type="text/javascript" src="js/socketclient.js"></script>
|
|
<script type="text/javascript" src="js/animateCSS.js"></script>
|
|
<script type="text/javascript" src="js/positions.js"></script>
|
|
<script type="text/javascript" src="js/main.js"></script>
|
|
</body>
|
|
</html>
|