aboutsummaryrefslogtreecommitdiff
path: root/node_modules/time-fix-plugin/index.js
blob: 4b7eb0f0d9c8fe6fac2df3fc149aaf237b5c63a7 (plain)
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
module.exports = class TimeFixPlugin {
  constructor(watchOffset = 11000) {
    this.watchOffset = watchOffset
  }

  apply(compiler) {
    const context = this
    const watch = compiler.watch
    let watching

    // Modify the time for first run
    compiler.watch = function () {
      watching = watch.apply(this, arguments)
      watching.startTime += context.watchOffset
      return watching
    }

    // Modify the time for subsequent runs
    compiler.hooks.watchRun.tap('time-fix-plugin', () => {
      if (watching) {
        watching.startTime += this.watchOffset
      }
    })

    // Reset time
    compiler.hooks.done.tap('time-fix-plugin', stats => {
      if (watching) {
        stats.startTime -= this.watchOffset
      }
    })
  }
}