MDL-64684 javascript: Do not minify jQuery+requireJS in dev mode
authorAndrew Nicols <andrew@nicols.co.uk>
Thu, 24 Jan 2019 01:05:17 +0000 (09:05 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Thu, 24 Jan 2019 01:28:21 +0000 (09:28 +0800)
lib/outputrequirementslib.php
lib/requirejs/moodle-config.js

index 9cf4735..c7c0aa1 100644 (file)
@@ -1326,6 +1326,9 @@ class page_requirements_manager {
     protected function get_amd_footercode() {
         global $CFG;
         $output = '';
+
+        // We will cache JS if cachejs is not set, or it is true.
+        $cachejs = !isset($CFG->cachejs) || $CFG->cachejs;
         $jsrev = $this->get_jsrev();
 
         $jsloader = new moodle_url('/lib/javascript.php');
@@ -1341,15 +1344,21 @@ class page_requirements_manager {
             $jsextension = '';
         }
 
+        $minextension = '.min';
+        if (!$cachejs) {
+            $minextension = '';
+        }
+
         $requirejsconfig = str_replace('[BASEURL]', $requirejsloader, $requirejsconfig);
         $requirejsconfig = str_replace('[JSURL]', $jsloader, $requirejsconfig);
+        $requirejsconfig = str_replace('[JSMIN]', $minextension, $requirejsconfig);
         $requirejsconfig = str_replace('[JSEXT]', $jsextension, $requirejsconfig);
 
         $output .= html_writer::script($requirejsconfig);
-        if ($CFG->debugdeveloper) {
-            $output .= html_writer::script('', $this->js_fix_url('/lib/requirejs/require.js'));
-        } else {
+        if ($cachejs) {
             $output .= html_writer::script('', $this->js_fix_url('/lib/requirejs/require.min.js'));
+        } else {
+            $output .= html_writer::script('', $this->js_fix_url('/lib/requirejs/require.js'));
         }
 
         // First include must be to a module with no dependencies, this prevents multiple requests.
index acce48e..3260250 100644 (file)
@@ -6,8 +6,8 @@ var require = {
     waitSeconds : 0,
 
     paths: {
-        jquery: '[JSURL]lib/jquery/jquery-3.2.1.min[JSEXT]',
-        jqueryui: '[JSURL]lib/jquery/ui-1.12.1/jquery-ui.min[JSEXT]',
+        jquery: '[JSURL]lib/jquery/jquery-3.2.1[JSMIN][JSEXT]',
+        jqueryui: '[JSURL]lib/jquery/ui-1.12.1/jquery-ui[JSMIN][JSEXT]',
         jqueryprivate: '[JSURL]lib/requirejs/jquery-private[JSEXT]'
     },