|
|
|
@ -34,10 +34,24 @@ const TYPESCRIPT_LIB_DESTINATION = path.join(__dirname, '../src/lib');
|
|
|
|
|
tsServices.replace(/\n ts\.sys =([^]*)\n \}\)\(\);/m, `\n // MONACOCHANGE\n ts.sys = undefined;\n // END MONACOCHANGE`)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// Eliminate another require() call...
|
|
|
|
|
// Eliminate more require() calls...
|
|
|
|
|
tsServices = (
|
|
|
|
|
tsServices.replace(/return require\(fileNameToRequire\);/, `// MONACOCHANGE\n return undefined;\n // END MONACOCHANGE`)
|
|
|
|
|
);
|
|
|
|
|
tsServices = tsServices.replace(/^( +)etwModule = require\(.*$/m, '$1// MONACOCHANGE\n$1etwModule = undefined;\n$1// END MONACOCHANGE');
|
|
|
|
|
|
|
|
|
|
// Flag any new require calls (outside comments) so they can be corrected preemptively.
|
|
|
|
|
// To avoid missing cases (or using an even more complex regex), temporarily remove comments
|
|
|
|
|
// about require() and then check for lines actually calling require().
|
|
|
|
|
// \/[*/] matches the start of a comment (single or multi-line).
|
|
|
|
|
// ^\s+\*[^/] matches (presumably) a later line of a multi-line comment.
|
|
|
|
|
const tsServicesNoCommentedRequire = tsServices.replace(/(\/[*/]|^\s+\*[^/]).*\brequire\(.*/gm, '');
|
|
|
|
|
const linesWithRequire = tsServicesNoCommentedRequire.match(/^.*?\brequire\(.*$/gm);
|
|
|
|
|
if (linesWithRequire && linesWithRequire.length) {
|
|
|
|
|
console.error('Found new require() calls on the following lines. These should be removed to avoid breaking webpack builds.\n');
|
|
|
|
|
console.error(linesWithRequire.join('\n'));
|
|
|
|
|
process.exit(1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Make sure process.args don't get called in the browser, this
|
|
|
|
|
// should only happen in TS 2.6.2
|
|
|
|
|