mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-09-30 01:07:01 +08:00
Change-Id: I47ee448d1ddbe57046451d57062f8c95e380dc09 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1919343 Auto-Submit: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Jan Scheffler <janscheffler@chromium.org> Reviewed-by: Jan Scheffler <janscheffler@chromium.org>
50 lines
1.2 KiB
JavaScript
Executable File
50 lines
1.2 KiB
JavaScript
Executable File
#!/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;
|
|
}
|
|
}
|