保誠-保戶業務員媒合平台
Tomas
2022-05-19 957a1f10a06fdbb76f1a0ba94fe44126c613fee3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
    MIT License http://www.opensource.org/licenses/mit-license.php
    Author Tobias Koppers @sokra
*/
/*globals __resourceQuery */
if (module.hot) {
    var log = require("./log");
    var checkForUpdate = function checkForUpdate(fromUpdate) {
        module.hot
            .check()
            .then(function(updatedModules) {
                if (!updatedModules) {
                    if (fromUpdate) log("info", "[HMR] Update applied.");
                    else log("warning", "[HMR] Cannot find update.");
                    return;
                }
 
                return module.hot
                    .apply({
                        ignoreUnaccepted: true,
                        onUnaccepted: function(data) {
                            log(
                                "warning",
                                "Ignored an update to unaccepted module " +
                                    data.chain.join(" -> ")
                            );
                        }
                    })
                    .then(function(renewedModules) {
                        require("./log-apply-result")(updatedModules, renewedModules);
 
                        checkForUpdate(true);
                        return null;
                    });
            })
            .catch(function(err) {
                var status = module.hot.status();
                if (["abort", "fail"].indexOf(status) >= 0) {
                    log("warning", "[HMR] Cannot apply update.");
                    log("warning", "[HMR] " + log.formatError(err));
                    log("warning", "[HMR] You need to restart the application!");
                } else {
                    log("warning", "[HMR] Update failed: " + (err.stack || err.message));
                }
            });
    };
 
    process.on(__resourceQuery.substr(1) || "SIGUSR2", function() {
        if (module.hot.status() !== "idle") {
            log(
                "warning",
                "[HMR] Got signal but currently in " + module.hot.status() + " state."
            );
            log("warning", "[HMR] Need to be in idle state to start hot update.");
            return;
        }
 
        checkForUpdate();
    });
} else {
    throw new Error("[HMR] Hot Module Replacement is disabled.");
}