#!/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', 'blink', 'renderer', 'devtools'); 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; } }