Skip to content

Commit 7a41a6c

Browse files
committed
[refactor] suppress the generation of intermediate variables in the bundle by changing the module loading order and variable name
Mithril's internal bundler enables module bundling without generating intermediate variables by carefully managing module loading order and variable names. This commit prevents assigning `mountRedraw`, `decodeURIComponentSave`, and `hyperscript` to intermediate variables. It also improves readability by moving all member additions for `m` to the end of the file.
1 parent 5830480 commit 7a41a6c

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

api/router.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
"use strict"
22

33
var Vnode = require("../render/vnode")
4-
var m = require("../render/hyperscript")
4+
var hyperscript = require("../render/hyperscript")
55

6+
var decodeURIComponentSave = require("../util/decodeURIComponentSave")
67
var buildPathname = require("../pathname/build")
78
var parsePathname = require("../pathname/parse")
89
var compileTemplate = require("../pathname/compileTemplate")
910
var censor = require("../util/censor")
1011

11-
var decodeURIComponentSave = require("../util/decodeURIComponentSave")
12-
1312
module.exports = function($window, mountRedraw) {
1413
var p = Promise.resolve()
1514

@@ -179,7 +178,7 @@ module.exports = function($window, mountRedraw) {
179178
//
180179
// We don't strip the other parameters because for convenience we
181180
// let them be specified in the selector as well.
182-
var child = m(
181+
var child = hyperscript(
183182
vnode.attrs.selector || "a",
184183
censor(vnode.attrs, ["options", "params", "selector", "onclick"]),
185184
vnode.children

index.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
"use strict"
22

33
var hyperscript = require("./hyperscript")
4-
var request = require("./request")
54
var mountRedraw = require("./mount-redraw")
5+
var request = require("./request")
6+
var router = require("./route")
67

78
var m = function m() { return hyperscript.apply(this, arguments) }
89
m.m = hyperscript
910
m.trust = hyperscript.trust
1011
m.fragment = hyperscript.fragment
1112
m.Fragment = "["
1213
m.mount = mountRedraw.mount
13-
m.route = require("./route")
14+
m.route = router
1415
m.render = require("./render")
1516
m.redraw = mountRedraw.redraw
1617
m.request = request.request

0 commit comments

Comments
 (0)