blob: 50ec620310cad8f2f712e68aad4c41b36f8883a0 [file] [log] [blame]
#!/usr/bin/env node
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
var childProcess = require('child_process');
var fs = require('fs');
var path = require('path');
var shell = require('child_process').execSync;
var repoRootPath;
try {
repoRootPath = shellOutput('git rev-parse --show-toplevel');
} catch (error) {
console.log('ERROR: cannot use dtrun outside of chromium repo');
process.exit(1);
}
var devtoolsPath = path.join(repoRootPath, 'third_party', 'devtools-frontend', 'src');
if (!isDir(devtoolsPath)) {
console.log('ERROR: cannot use dtrun outside of chromium repo');
process.exit(1);
}
var npmPath = shellOutput('which npm');
var args = ['run'];
if (process.argv.length > 2) {
args.push(process.argv[2]);
args.push('--');
args = args.concat(process.argv.slice(3));
}
var child = childProcess.spawn(npmPath, args, {
cwd: devtoolsPath,
stdio: 'inherit',
});
function shellOutput(command) {
return shell(command).toString().trim();
}
function isDir(path) {
try {
return fs.statSync(path).isDirectory();
} catch (error) {
return false;
}
}