Merge vendor js
There is a bunch of javascript we always load from vendors. This combines this into 1 javascript file. Which reduces the number of request by ~10. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
d2b1b02244
commit
7195a9323d
3 changed files with 38352 additions and 14 deletions
35
build/mergejs.php
Normal file
35
build/mergejs.php
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
/**
|
||||
* @copyright 2017, Roeland Jago Douma <roeland@famdouma.nl>
|
||||
*
|
||||
* @author Roeland Jago Douma <roeland@famdouma.nl>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Stupid simple code to merge all the default vendor javascript into 1
|
||||
*/
|
||||
$data = json_decode(file_get_contents(__DIR__.'/../core/js/core.json'), true);
|
||||
$vendors = $data['vendor'];
|
||||
|
||||
$vendorjs = fopen(__DIR__.'/../core/vendor/core.js', 'w');
|
||||
foreach($vendors as $vendor) {
|
||||
fwrite($vendorjs, file_get_contents(__DIR__.'/../core/vendor/'.$vendor));
|
||||
}
|
||||
fclose($vendorjs);
|
38315
core/vendor/core.js
vendored
Normal file
38315
core/vendor/core.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -140,20 +140,8 @@ class OC_Template extends \OC\Template\Base {
|
|||
OC_Util::addScript('files/fileinfo');
|
||||
OC_Util::addScript('files/client');
|
||||
|
||||
// Add the stuff we need always
|
||||
// following logic will import all vendor libraries that are
|
||||
// specified in core/js/core.json
|
||||
$fileContent = file_get_contents(OC::$SERVERROOT . '/core/js/core.json');
|
||||
if($fileContent !== false) {
|
||||
$coreDependencies = json_decode($fileContent, true);
|
||||
foreach(array_reverse($coreDependencies['vendor']) as $vendorLibrary) {
|
||||
// remove trailing ".js" as addVendorScript will append it
|
||||
OC_Util::addVendorScript(
|
||||
substr($vendorLibrary, 0, strlen($vendorLibrary) - 3),null,true);
|
||||
}
|
||||
} else {
|
||||
throw new \Exception('Cannot read core/js/core.json');
|
||||
}
|
||||
// Import all (combined) default vendor libraries
|
||||
OC_Util::addVendorScript('core', null, true);
|
||||
|
||||
if (\OC::$server->getRequest()->isUserAgent([\OC\AppFramework\Http\Request::USER_AGENT_IE])) {
|
||||
// polyfill for btoa/atob for IE friends
|
||||
|
|
Loading…
Reference in a new issue