Skip to content

Commit

Permalink
fix(vdom): setup scheduler when _update() is invoked
Browse files Browse the repository at this point in the history
Webpack removes `setUpdateHandler()` invocation when `sideEffects`
optimization is enabled.
  • Loading branch information
localvoid committed May 14, 2018
1 parent ac31b9d commit 0cdf978
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 9 deletions.
8 changes: 0 additions & 8 deletions packages/ivi/src/index.ts
Expand Up @@ -22,11 +22,3 @@ export { statefulComponent, statelessComponent, withShouldUpdate, context, conne
*/
export { VNodeFlags } from "./vdom/flags";
export { render, renderNextFrame, update, updateNextFrame } from "./vdom/root";

/**
* Entry
*/
import { setUpdateDOMHandler } from "ivi-scheduler";
import { update } from "./vdom/root";

setUpdateDOMHandler(update);
3 changes: 2 additions & 1 deletion packages/ivi/src/vdom/root.ts
@@ -1,5 +1,5 @@
import { USER_AGENT, UserAgentFlags, NOOP, unorderedArrayDelete } from "ivi-core";
import { nextFrameWrite, triggerNextFrame } from "ivi-scheduler";
import { setUpdateDOMHandler, nextFrameWrite, triggerNextFrame } from "ivi-scheduler";
import { VNode } from "./vnode";
import { renderVNode, syncVNode, removeVNode, dirtyCheck } from "./implementation";
import { checkNestingViolations } from "../dev_mode/html_nesting_rules";
Expand Down Expand Up @@ -49,6 +49,7 @@ export function findRoot(container: Element): Root | undefined {
function _update() {
if (_pendingUpdate) {
_pendingUpdate = false;
setUpdateDOMHandler(update);
for (let i = 0; i < ROOTS.length; ++i) {
const root = ROOTS[i];
const container = root.container;
Expand Down

0 comments on commit 0cdf978

Please sign in to comment.