Skip to content

Commit

Permalink
#9753 [stable-3_3_0] Add script to copy jquery and jqueryui when runn…
Browse files Browse the repository at this point in the history
…ing composer install
  • Loading branch information
blesildaramirez committed Jul 18, 2024
1 parent dd6f804 commit 454635a
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 0 deletions.
62 changes: 62 additions & 0 deletions classes/dev/ComposerScript.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php
/**
* @file classes/dev/ComposerScript.php
*
* Copyright (c) 2024 Simon Fraser University
* Copyright (c) 2024 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class ComposerScript
*
* @brief Custom composer scripts to run post installs/updates
*/

namespace PKP\dev;

use Exception;

class ComposerScript
{
/**
* A post-install-cmd custom composer script that
* copies node_module dependencies
*/
public static function copyNodeModuleDeps(): void
{
function copyDir($src, $dst) {
$dir = opendir($src);
@mkdir($dst, 0755, true);
while (false !== ($file = readdir($dir))) {
if ($file != '.' && $file != '..') {
if (is_dir($src . '/' . $file)) {
copyDir($src . '/' . $file, $dst . '/' . $file);
} else {
copy($src . '/' . $file, $dst . '/' . $file);
}
}
}
closedir($dir);
}

try {
$baseDir = __DIR__ . '/../../../../node_modules';
$jqueryDist = $baseDir . '/jquery/dist';
$jqueryUiDist = $baseDir . '/jquery-ui/dist';
$vendorComponents = __DIR__ . '/../../lib/vendor/components';

if (!file_exists($vendorComponents . '/jquery')) {
mkdir($vendorComponents . '/jquery', 0755, true);
}
if (!file_exists($vendorComponents . '/jqueryui')) {
mkdir($vendorComponents . '/jqueryui', 0755, true);
}

copyDir($jqueryDist, $vendorComponents . '/jquery');
copy($jqueryUiDist . '/jquery-ui.js', $vendorComponents . '/jqueryui/jquery-ui.js');
copy($jqueryUiDist . '/jquery-ui.min.js', $vendorComponents . '/jqueryui/jquery-ui.min.js');

} catch (Exception $e) {
error_log($e->getMessage());
}
}
}
13 changes: 13 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@
"cweagans/composer-patches": true
}
},
"scripts": {
"post-install-cmd": [
"@copyNodeModuleDeps"
],
"copyNodeModuleDeps": [
"PKP\\dev\\ComposerScript::copyNodeModuleDeps"
]
},
"repositories": [
{
"type": "vcs",
Expand Down Expand Up @@ -83,5 +91,10 @@
"Apply strftime locale patch": "lib/strftime-locale-patch.diff"
}
}
},
"autoload": {
"psr-4": {
"PKP\\": "classes/"
}
}
}

0 comments on commit 454635a

Please sign in to comment.