Skip to content
Snippets Groups Projects
Commit cd7ddd6a authored by Gary Gao's avatar Gary Gao Committed by Nikunj Kotecha
Browse files

Issue #3222918: Load minified versions of jquery.validation library files for performance

parent f3484223
No related branches found
No related tags found
1 merge request!4Issue #3222918: Load minified versions of jquery.validation library files for performance
......@@ -72,7 +72,7 @@ function clientside_validation_jquery_requirements($phase) {
return $requirements;
}
$library_exists = file_exists('libraries/jquery-validation/dist/jquery.validate.js');
$library_exists = file_exists('libraries/jquery-validation/dist/jquery.validate.min.js');
$requirements['clientside_validation_jquery_library'] = [
'title' => t('Clientside Validation jQuery library'),
......
......@@ -5,7 +5,7 @@ jquery.validate:
url: https://github.com/jquery-validation/jquery-validation/blob/master/LICENSE.md
gpl-compatible: true
js:
/libraries/jquery-validation/dist/jquery.validate.js: {}
/libraries/jquery-validation/dist/jquery.validate.min.js: { minified: true }
dependencies:
- core/drupal
- core/once
......@@ -18,7 +18,7 @@ jquery.validate.additional:
url: https://github.com/jquery-validation/jquery-validation/blob/master/LICENSE.md
gpl-compatible: true
js:
/libraries/jquery-validation/dist/additional-methods.js: {}
/libraries/jquery-validation/dist/additional-methods.min.js: { minified: true }
dependencies:
- clientside_validation_jquery/jquery.validate
cv.pattern.method:
......
......@@ -65,7 +65,7 @@ function clientside_validation_jquery_library_info_alter(&$libraries, $extension
// Check for library or js in module only if use_cdn flag is set to false.
if (empty($config->get('use_cdn'))) {
// Based on updated readme instructions, check in libraries.
if (file_exists('libraries/jquery-validation/dist/jquery.validate.js')) {
if (file_exists('libraries/jquery-validation/dist/jquery.validate.min.js')) {
// We do nothing here if it is available in libraries.
return;
}
......@@ -79,14 +79,14 @@ function clientside_validation_jquery_library_info_alter(&$libraries, $extension
];
foreach ($paths_to_check as $path) {
if (file_exists($module_path . $path . 'jquery.validate.js')) {
unset($libraries['jquery.validate']['js'][$path_in_yml . 'jquery.validate.js']);
$libraries['jquery.validate']['js']['js/lib/jquery.validate.js'] = [];
if (file_exists($module_path . $path . 'jquery.validate.min.js')) {
unset($libraries['jquery.validate']['js'][$path_in_yml . 'jquery.validate.min.js']);
$libraries['jquery.validate']['js'][$path . 'jquery.validate.min.js'] = [];
// Add additional methods js only if required.
if (isset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.js'])) {
unset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.js']);
$libraries['jquery.validate']['js'][$path . 'additional-methods.js'] = [];
if (isset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.min.js'])) {
unset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.min.js']);
$libraries['jquery.validate']['js'][$path . 'additional-methods.min.js'] = [];
}
// Nothing left to be processed now, we simply return.
......@@ -101,12 +101,12 @@ function clientside_validation_jquery_library_info_alter(&$libraries, $extension
$cdn_url = $config->get('cdn_base_url');
// For CDN we use the min versions as Drupal is not going to compress them.
unset($libraries['jquery.validate']['js'][$path_in_yml . 'jquery.validate.js']);
unset($libraries['jquery.validate']['js'][$path_in_yml . 'jquery.validate.min.js']);
$libraries['jquery.validate']['js'][$cdn_url . 'jquery.validate.min.js'] = ['type' => 'external'];
// Add additional methods js only if required.
if (isset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.js'])) {
unset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.js']);
if (isset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.min.js'])) {
unset($libraries['jquery.validate.additional']['js'][$path_in_yml . 'additional-methods.min.js']);
$libraries['jquery.validate.additional']['js'][$cdn_url . 'additional-methods.min.js'] = ['type' => 'external'];
}
}
......
......@@ -38,7 +38,7 @@ class ClientsideValidationJqueryDrush extends DrushCommands {
* @aliases cvjls
*/
public function libraryStatus() {
$installed = file_exists(DRUPAL_ROOT . '/libraries/jquery-validation/dist/jquery.validate.js');
$installed = file_exists(DRUPAL_ROOT . '/libraries/jquery-validation/dist/jquery.validate.min.js');
$message = $installed ? 'installed' : 'not installed';
$this->logger()->notice('Library required for clientside validation jQuery is {message}', ['message' => $message]);
}
......
......@@ -100,7 +100,7 @@ class ClientsideValidationjQuerySettingsForm extends ConfigFormBase {
// Validate if library exists if use CDN is set to false.
if (empty($values['use_cdn'])) {
$library_exists = file_exists('libraries/jquery-validation/dist/jquery.validate.js');
$library_exists = file_exists('libraries/jquery-validation/dist/jquery.validate.min.js');
if (empty($library_exists)) {
$form_state->setErrorByName('use_cdn', $this->t('Please make sure JS is available in Drupal Libraries. Check README in module folder for more details.'));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment