initial commit taken from gitlab.lrz.de

This commit is contained in:
privatereese
2018-08-24 18:09:42 +02:00
parent ae54ed4c48
commit fc05486403
28494 changed files with 2159823 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
const copyToClipBoard = require('../util/copyToClipBoard');
var chalk = require('chalk');
/**
* Handle the request from JS to copy contents onto host system clipboard.
* This is only supported on Mac for now.
*/
module.exports = function(req, res, next) {
if (req.url === '/copy-to-clipboard') {
var ret = copyToClipBoard(req.rawBody);
if (!ret) {
console.warn(chalk.red('Copy button is not supported on this platform!'));
}
res.end('OK');
} else {
next();
}
};

View File

@@ -0,0 +1,70 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
'use strict';
const launchChrome = require('../util/launchChrome');
const {exec} = require('child_process');
function launchChromeDevTools(host, args = '') {
var debuggerURL = 'http://' + host + '/debugger-ui' + args;
console.log('Launching Dev Tools...');
launchChrome(debuggerURL);
}
function escapePath(pathname) {
// " Can escape paths with spaces in OS X, Windows, and *nix
return '"' + pathname + '"';
}
function launchDevTools({host, projectRoots}, isChromeConnected) {
// Explicit config always wins
var customDebugger = process.env.REACT_DEBUGGER;
if (customDebugger) {
var projects = projectRoots.map(escapePath).join(' ');
var command = customDebugger + ' ' + projects;
console.log('Starting custom debugger by executing: ' + command);
exec(command, function(error, stdout, stderr) {
if (error !== null) {
console.log('Error while starting custom debugger: ' + error);
}
});
} else if (!isChromeConnected()) {
// Dev tools are not yet open; we need to open a session
launchChromeDevTools(host);
}
}
module.exports = function(options, isChromeConnected) {
return function(req, res, next) {
var host = req.headers.host;
if (req.url === '/launch-safari-devtools') {
// TODO: remove `console.log` and dev tools binary
console.log(
'We removed support for Safari dev-tools. ' +
'If you still need this, please let us know.',
);
} else if (req.url === '/launch-chrome-devtools') {
// TODO: Remove this case in the future
console.log(
'The method /launch-chrome-devtools is deprecated. You are ' +
' probably using an application created with an older CLI with the ' +
' packager of a newer CLI. Please upgrade your application: ' +
'https://facebook.github.io/react-native/docs/upgrading.html',
);
launchDevTools(options, isChromeConnected);
res.end('OK');
} else if (req.url === '/launch-js-devtools') {
launchDevTools({...options, host}, isChromeConnected);
res.end('OK');
} else {
next();
}
};
};

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<title>React Native</title>
</head>
<body>
<p>React Native packager is running.</p>
<p><a href="http://facebook.github.io/react-native/">Visit documentation</a></p>
</body>
</html>

View File

@@ -0,0 +1,18 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
const fs = require('fs');
const path = require('path');
module.exports = function(req, res, next) {
if (req.url === '/') {
res.end(fs.readFileSync(path.join(__dirname, 'index.html')));
} else {
next();
}
};

View File

@@ -0,0 +1,20 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
module.exports = function(req, res, next) {
req.rawBody = '';
req.setEncoding('utf8');
req.on('data', function(chunk) {
req.rawBody += chunk;
});
req.on('end', function() {
next();
});
};

View File

@@ -0,0 +1,21 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
const launchEditor = require('../util/launchEditor');
module.exports = function({projectRoots}) {
return function(req, res, next) {
if (req.url === '/open-stack-frame') {
const frame = JSON.parse(req.rawBody);
launchEditor(frame.file, frame.lineNumber, projectRoots);
res.end('OK');
} else {
next();
}
};
};

View File

@@ -0,0 +1,19 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
/**
* Status page so that anyone who needs to can verify that the packager is
* running on 8081 and not another program / service.
*/
module.exports = function(req, res, next) {
if (req.url === '/status') {
res.end('packager-status:running');
} else {
next();
}
};

View File

@@ -0,0 +1,27 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
const fs = require('fs');
module.exports = function(req, res, next) {
if (req.url !== '/systrace') {
next();
return;
}
console.log('Dumping profile information...');
var dumpName = '/tmp/dump_' + Date.now() + '.json';
fs.writeFileSync(dumpName, req.rawBody);
var response =
'Your profile was saved at:\n' + dumpName + '\n\n' +
'On Google Chrome navigate to chrome://tracing and then click on "load" ' +
'to load and visualise your profile.\n\n' +
'This message is also printed to your console by the packager so you can copy it :)';
console.log(response);
res.end(response);
};

View File

@@ -0,0 +1,17 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
'use strict';
module.exports = (url, middleware) => {
return (req, res, next) => {
if (req.url === url || req.url.startsWith(url + '/')) {
middleware(req, res, next);
} else {
next();
}
};
};