summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/bin/watch.js
blob: d4d02e18ca22465d3f9b3875cb6023bb63ac7e95 (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
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */

var chokidar = require("chokidar");
var shell = require("shelljs");
var path = require("path");

const geckoPath = path.join(__dirname, "../../../..");
const srcPath = path.join(__dirname, "../src");
function watch() {
  console.log("Watching for src changes");
  const watcher = chokidar.watch(srcPath);
  let working = false;
  watcher.on("change", filePath => {
    const relPath = path.relative(srcPath, filePath);
    console.log(`Updating ${relPath}`);
    if (working) {
      return;
    }
    working = true;
    const start = new Date();

    shell.exec(`cd ${geckoPath}; ./mach build faster; cd -;`, { silent: true });
    working = false;
    const end = Math.round((new Date() - start) / 1000);
    console.log(`  Built in ${end}s`);
  });
}

watch();