From e52605015169bc436751ef0c079ecef22bff72a3 Mon Sep 17 00:00:00 2001 From: Tim Hunt Date: Fri, 30 Jun 2017 17:00:18 +0100 Subject: [PATCH] MDL-59431 requirejs: better reporting if a JS file cannot be loaded --- lib/requirejs.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/requirejs.php b/lib/requirejs.php index 607cf93e24e..b348ee4f566 100644 --- a/lib/requirejs.php +++ b/lib/requirejs.php @@ -97,7 +97,12 @@ if ($rev > 0 and $rev < (time() + 60 * 60)) { $content = ''; foreach ($jsfiles as $modulename => $jsfile) { - $js = file_get_contents($jsfile) . "\n"; + $js = file_get_contents($jsfile); + if ($jsfile === false) { + error_log('Failed to load JavaScript file ' . $jsfile); + $js = '/* Failed to load JavaScript file ' . $jsfile . '. */'; + } + $js .= "\n"; // Inject the module name into the define. $replace = 'define(\'' . $modulename . '\', '; $search = 'define('; @@ -134,7 +139,7 @@ foreach ($jsfiles as $modulename => $jsfile) { if (strpos($js, $search) === false) { // We can't call debugging because we only have minimal config loaded. header('HTTP/1.0 500 error'); - die('JS file: ' . $shortfilename . ' does not contain a javascript module in AMD format. "define()" not found.'); + die('JS file: ' . $shortfilename . ' cannot be loaded, or does not contain a javascript module in AMD format. "define()" not found.'); } // Replace only the first occurrence.