1
0
mirror of https://codeberg.org/nobody/LocalCDN.git synced 2025-02-16 11:50:58 +01:00

Merge remote-tracking branch 'origin/develop'

This commit is contained in:
nobody 2024-10-05 08:37:26 +02:00
commit e60d7d8db2
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
42 changed files with 1517 additions and 1689 deletions

View File

@ -37,6 +37,7 @@
"GoogleDomains": true,
"ReqAnalyzer": true,
"MathJax3Files": true,
"RedirectMap": true,
"fileGuard": true,
"files": true,

View File

@ -137,7 +137,7 @@ https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validat
https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-bootstrap-select.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.24.0/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/5.3.0/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/5.4.1/algoliasearch.umd.min.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.8.2/alpine.js
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.14.1/cdn.min.js
https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/3.0.0/angucomplete-alt.min.js
@ -396,6 +396,10 @@ https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css
https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js
https://cdnjs.cloudflare.com/ajax/libs/fastclick/1.0.6/fastclick.min.js
https://cdnjs.cloudflare.com/ajax/libs/feather-icons/4.29.2/feather.min.js
https://cdnjs.cloudflare.com/ajax/libs/featherlight/1.7.13/featherlight.gallery.min.css
https://cdnjs.cloudflare.com/ajax/libs/featherlight/1.7.13/featherlight.gallery.min.js
https://cdnjs.cloudflare.com/ajax/libs/featherlight/1.7.13/featherlight.min.css
https://cdnjs.cloudflare.com/ajax/libs/featherlight/1.7.13/featherlight.min.js
https://cdnjs.cloudflare.com/ajax/libs/flickity/3.0.0/flickity.pkgd.min.js
https://cdnjs.cloudflare.com/ajax/libs/flv.js/1.6.2/flv.min.js
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.min.css
@ -740,7 +744,7 @@ https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.14.17/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.5.15/hls.min.js
https://cdnjs.cloudflare.com/ajax/libs/hogan.js/3.0.2/hogan.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/3.7.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.74.0/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.74.1/instantsearch.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/iScroll/5.2.0/iscroll.min.js
https://cdnjs.cloudflare.com/ajax/libs/izimodal/1.6.1/js/iziModal.min.js
https://cdnjs.cloudflare.com/ajax/libs/jasny-bootstrap/3.1.3/css/jasny-bootstrap.min.css
@ -844,7 +848,7 @@ https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.css
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.js
https://cdnjs.cloudflare.com/ajax/libs/Leaflet.EasyButton/2.4.0/easy-button.min.js
https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/leaflet.markercluster.js
https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.7/libphonenumber-js.min.js
https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.11.8/libphonenumber-js.min.js
https://cdnjs.cloudflare.com/ajax/libs/libsodium-wrappers/0.5.4/sodium.min.js
https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.4/js/lightbox.min.js
https://cdnjs.cloudflare.com/ajax/libs/lightcase/2.5.0/css/lightcase.min.css
@ -1075,7 +1079,7 @@ https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.3.1/umd/react-dom.production
https://cdnjs.cloudflare.com/ajax/libs/react-redux/7.2.8/react-redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-redux/8.1.3/react-redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/5.3.3/react-router.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/6.26.1/react-router.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/react-router/6.26.2/react-router.production.min.js
https://cdnjs.cloudflare.com/ajax/libs/redux/4.2.1/redux.min.js
https://cdnjs.cloudflare.com/ajax/libs/redux/5.0.1/redux.legacy-esm.min.js
https://cdnjs.cloudflare.com/ajax/libs/rickshaw/1.7.1/rickshaw.min.css
@ -1412,13 +1416,14 @@ https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.21.1/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.21.1/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.17.4/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.17.4/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue/3.5.3/vue.global.prod.js
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.18.0/video-js.min.css
https://cdnjs.cloudflare.com/ajax/libs/video.js/8.18.0/video.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue/3.5.4/vue.global.prod.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/10.0.1/vue-i18n.global.prod.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.27.2/vue-i18n.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.14.0/vue-i18n.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.14.0/vue-i18n.global.prod.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.6.5/vue-router.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.4.3/vue-router.global.min.js
https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.4.4/vue-router.global.min.js
https://cdnjs.cloudflare.com/ajax/libs/vuex/3.6.2/vuex.min.js
https://cdnjs.cloudflare.com/ajax/libs/vuex/4.1.0/vuex.cjs.min.js
https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js
@ -1447,23 +1452,23 @@ https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple.css
https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple-dark.css
https://cdn.jsdelivr.net/npm/ethjs@0.4.0/dist/ethjs.min.js
https://cdn.jsdelivr.net/npm/instantsearch.css@7.4.5/themes/algolia-min.css
https://cdn.jsdelivr.net/npm/instantsearch.css@8.5.0/themes/algolia-min.css
https://cdn.jsdelivr.net/npm/instantsearch.css@8.5.1/themes/algolia-min.css
https://cdn.jsdelivr.net/npm/in-view@0.6.1/dist/in-view.min.js
https://cdn.jsdelivr.net/npm/leaflet.featuregroup.subgroup@1.0.2/dist/leaflet.featuregroup.subgroup.js
https://cdn.jsdelivr.net/npm/ngx-bootstrap@18.0.2/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/ngx-bootstrap@6.2.0/datepicker/bs-datepicker.css
https://cdn.jsdelivr.net/npm/object-assign@4.1.1/index.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-core@0.6.2/build/p2p-media-loader-core.min.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-core@1.0.5/dist/p2p-media-loader-core.es.min.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-core@2.0.1/dist/p2p-media-loader-core.es.min.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@0.6.2/build/p2p-media-loader-hlsjs.min.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@1.0.5/dist/p2p-media-loader-hlsjs.es.min.js
https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@2.0.1/dist/p2p-media-loader-hlsjs.es.min.js
https://cdn.jsdelivr.net/npm/plyr@3.7.8/dist/plyr.css
https://cdn.jsdelivr.net/npm/plyr@3.7.8/dist/plyr.min.js
https://cdn.jsdelivr.net/npm/raven-js@3.27.2/dist/raven.min.js
https://cdn.jsdelivr.net/npm/react-intl@6.6.8/react-intl.iife.min.js
https://cdn.jsdelivr.net/npm/react-intl@6.7.0/react-intl.iife.min.js
https://cdn.jsdelivr.net/npm/react-lifecycles-compat@3.0.4/react-lifecycles-compat.min.js
https://cdn.jsdelivr.net/npm/search-insights@1.10.0/dist/search-insights.min.js
https://cdn.jsdelivr.net/npm/search-insights@2.17.1/dist/search-insights.min.js
https://cdn.jsdelivr.net/npm/search-insights@2.17.2/dist/search-insights.min.js
https://cdn.jsdelivr.net/npm/swiper@11.0.5/swiper-bundle.min.css
https://cdn.jsdelivr.net/npm/swiper@11.0.5/swiper-bundle.min.js
https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.css

View File

@ -160,7 +160,7 @@
"description": "Statistics view for past year."
},
"labelAll": {
"message": "",
"message": "Toate",
"description": "Statistics view over the whole time range"
},
"labelDelete": {

View File

@ -623,7 +623,7 @@ function create_url() {
url="$NETDNA_BOOTSTRAPCDN/$folder/$version/js/bootstrap.min.js"
fi
elif [ "$folder" = "vue-i18n" ] && [[ "$version" != 8* ]]; then
url="$CLOUDFLARE/$folder/$version/vue-i18n.cjs.min.js"
url="$CLOUDFLARE/$folder/$version/vue-i18n.global.prod.min.js"
elif [ "$path" = "../resources/twitter-bootstrap/fonts/glyphicons-halflings-regular.woff2" ]; then
url="$CLOUDFLARE/twitter-bootstrap/3.4.1/fonts/glyphicons-halflings-regular.woff2"
elif [ "$subfile" = "jquery-ui.min.css" ]; then

View File

@ -466,6 +466,13 @@ const LogString = {
'IFRAME': 'Possible iframe request:',
};
const RedirectMap = {
'resources/font-awesome/3.2.1/css/all.min.css': 'resources/font-awesome/3.2.1/css/font-awesome.min.css',
'resources/font-awesome/3.2.1/css/all.css': 'resources/font-awesome/3.2.1/css/font-awesome.min.css',
'resources/font-awesome/4.7.0/css/all.min.css': 'resources/font-awesome/4.7.0/css/font-awesome.min.css',
'resources/font-awesome/4.7.0/css/all.css': 'resources/font-awesome/4.7.0/css/font-awesome.min.css'
};
/**
* https://codeberg.org/nobody/LocalCDN/issues/1560
*/

View File

@ -52,7 +52,7 @@ manipulateDOM._removeCrossOriginAndIntegrityAttr = function (details) {
if (!isAllowlisted && mimeType === 'text/html') {
let asciiDecoder, decoder, encoder, charset, isFirstData, filter, data;
let initDecoder, decoder, encoder, charset, isFirstData, filter, data;
charset = (/charset\s*=/).test(header.value) && header.value.replace(/^.*?charset\s*=\s*/, '').replace(/["']?/g, '');
@ -63,7 +63,8 @@ manipulateDOM._removeCrossOriginAndIntegrityAttr = function (details) {
return;
}
asciiDecoder = new TextDecoder('ASCII');
// Use charset of the response header in the initial TextDecoder. ASCII only as fallback.
initDecoder = new TextDecoder(charset === false ? 'ASCII' : charset);
encoder = new TextEncoder();
isFirstData = true;
filter = browser.webRequest.filterResponseData(details.requestId);
@ -92,7 +93,7 @@ manipulateDOM._removeCrossOriginAndIntegrityAttr = function (details) {
uint8View = new Uint8Array(chunk);
}
htmlHead = asciiDecoder.decode(uint8View, {'stream': false});
htmlHead = initDecoder.decode(uint8View, {'stream': false});
// eslint-disable-next-line no-useless-escape
charsetMatch = htmlHead.match(/<meta\s+charset=["']?([^>"'\/]+)["'>\/]/i);
if (charsetMatch === null) {

View File

@ -578,6 +578,7 @@ mappings.cdn = {
'cdn.jsdelivr.net': {
'/npm/': {
'@popperjs/core@{version}/dist/umd/popper.': resources.popperJS,
'@popperjs/core@{version}': resources.popperJS,
'@supabase/supabase-js@{version}': resources.supabaseJs,
'@tensorflow/tfjs@{version}/dist/tf.js': resources.tensorflow,
'@tensorflow/tfjs@{version}/dist/tf.min.js': resources.tensorflow,
@ -642,6 +643,14 @@ mappings.cdn = {
'docsify@{version}/lib/docsify.min.js': resources.docsify,
'ethjs@{version}/dist/ethjs.': resources.ethJs,
'exif-js@{version}/exif.': resources.exifJS,
'featherlight@{version}/release/featherlight.gallery.min.css': resources.featherlightGalleryCSS,
'featherlight@{version}/release/featherlight.gallery.css': resources.featherlightGalleryCSS,
'featherlight@{version}/release/featherlight.gallery.min.js': resources.featherlightGalleryJS,
'featherlight@{version}/release/featherlight.gallery.js': resources.featherlightGalleryJS,
'featherlight@{version}/release/featherlight.min.css': resources.featherlightCSS,
'featherlight@{version}/release/featherlight.css': resources.featherlightCSS,
'featherlight@{version}/release/featherlight.min.js': resources.featherlightJS,
'featherlight@{version}/release/featherlight.js': resources.featherlightJS,
'flv.js/dist/flv.min.js': resources.flvJS,
'font-awesome@{version}/css/font-awesome.': resources.fontawesome,
'fork-awesome@{version}/css/fork-awesome.': resources.forkawesome,
@ -735,6 +744,8 @@ mappings.cdn = {
'videojs-seek-buttons/dist/videojs-seek-buttons.js': resources.videojsSeekButtonsJS,
'videojs-seek-buttons/dist/videojs-seek-buttons.min.css': resources.videojsSeekButtonsCSS,
'videojs-seek-buttons/dist/videojs-seek-buttons.min.js': resources.videojsSeekButtonsJS,
'video.js@{version}/dist/video-js.min.css': resources.videoJScss,
'video.js@{version}/dist/video-js.css': resources.videoJScss,
'vue-match-media@{version}/dist/index.': resources.vueMatchMedia,
'vue-resource@{version}/dist/vue-resource.': resources.vueResource,
'vue-router@{version}/dist/vue-router.': resources.vueRouter,

View File

@ -223,6 +223,8 @@ requestAnalyzer._findLocalTarget = function (resourceMappings, basePath, channel
break;
}
targetPath = requestAnalyzer._redirectTargetFile(targetPath);
// Prepare and return a local target.
return {
'source': channelHost,
@ -248,6 +250,11 @@ requestAnalyzer._findLocalTarget = function (resourceMappings, basePath, channel
};
};
requestAnalyzer._redirectTargetFile = function (targetPath) {
return RedirectMap[targetPath] || targetPath;
};
requestAnalyzer._getPathOfBundle = function (initiator, channelHost, channelPath, targetPath, bundle) {
let filename = channelPath.split('/').pop();

View File

@ -400,6 +400,19 @@ let resources = {
'feather': {
'path': 'resources/feather-icons/{version}/feather.min.jsm'
},
// featherlight
'featherlightJS': {
'path': 'resources/featherlight/{version}/featherlight.min.jsm'
},
'featherlightCSS': {
'path': 'resources/featherlight/{version}/featherlight.min.css'
},
'featherlightGalleryJS': {
'path': 'resources/featherlight/{version}/featherlight.gallery.min.jsm'
},
'featherlightGalleryCSS': {
'path': 'resources/featherlight/{version}/featherlight.gallery.min.css'
},
// flickity
'flickity': {
'path': 'resources/flickity/{version}/flickity.pkgd.min.jsm'

View File

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "LocalCDN",
"version": "2.6.73",
"version": "2.6.74",
"browser_specific_settings": {
"gecko": {
"id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}",

View File

@ -81,7 +81,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/ajax-bootstrap-select/1.')) return '1.4.5';
if (type.startsWith('/algoliasearch/3.')) return '3.35.1';
if (type.startsWith('/algoliasearch/4.')) return '4.24.0';
if (type.startsWith('/algoliasearch/5.')) return '5.3.0';
if (type.startsWith('/algoliasearch/5.')) return '5.4.1';
if (type.startsWith('/alpinejs/2.')) return '2.8.2';
if (type.startsWith('/alpinejs/3.')) return '3.14.1';
if (type.startsWith('/anchor-js/3.')) return '3.2.2';
@ -200,6 +200,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/fancybox/2.')) return '2.1.7';
if (type.startsWith('/fancybox/3.')) return '3.5.7';
if (type.startsWith('/feather-icons/4.')) return '4.29.2';
if (type.startsWith('/featherlight/1.')) return '1.7.13';
if (type.startsWith('/flickity/3.')) return '3.0.0';
if (type.startsWith('/flv.js/')) return '1.6.2';
if (type.startsWith('/font-awesome/3.')) return '3.2.1';
@ -231,9 +232,9 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/hls.js/1.')) return '1.5.15';
if (type.startsWith('/hogan.js/')) return '3.0.2';
if (type.startsWith('/instantsearch.css/7.')) return '7.4.5';
if (type.startsWith('/instantsearch.css/8.')) return '8.5.0';
if (type.startsWith('/instantsearch.css/8.')) return '8.5.1';
if (type.startsWith('/instantsearch.js/3.')) return '3.7.0';
if (type.startsWith('/instantsearch.js/4.')) return '4.74.0';
if (type.startsWith('/instantsearch.js/4.')) return '4.74.1';
if (type.startsWith('/in-view/0.')) return '0.6.1';
if (type.startsWith('/iScroll/5.')) return '5.2.0';
if (type.startsWith('/izimodal/1.')) return '1.6.1';
@ -311,7 +312,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/Leaflet.EasyButton/2.')) return '2.4.0';
if (type.startsWith('/leaflet.featuregroup.subgroup/1.')) return '1.0.2';
if (type.startsWith('/leaflet.markercluster/1.')) return '1.5.3';
if (type.startsWith('/libphonenumber-js/1.')) return '1.11.7';
if (type.startsWith('/libphonenumber-js/1.')) return '1.11.8';
if (type.startsWith('/libsodium-wrappers/0.')) return '0.5.4';
if (type.startsWith('/lightbox2/2.')) return '2.11.4';
if (type.startsWith('/lightcase/2.')) return '2.5.0';
@ -369,7 +370,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/owl-carousel/2.')) return '2.3.4';
if (type.startsWith('/p2p-media-loader-core') || type.startsWith('/p2p-media-loader-hlsjs')) {
if (helpers.compareVersion('0.6.2', version)) return '0.6.2'; // <= v0.6.2
return '1.0.5';
return '2.0.1';
}
if (type.startsWith('/p5.js/0.')) return '0.10.2';
if (type.startsWith('/p5.js/1.')) return '1.10.0';
@ -395,12 +396,12 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/react-dom/18.')) return '18.3.1';
if (type.startsWith('/react-intl/')) {
// NOTE: Parameters swapped. (= anything greater than v5.0.0)
if (helpers.compareVersion(version, '5.0.0')) return '6.6.8'; // >= v5.0.0
if (helpers.compareVersion(version, '5.0.0')) return '6.7.0'; // >= v5.0.0
}
if (type.startsWith('/react-redux/7.')) return '7.2.8';
if (type.startsWith('/react-redux/8.')) return '8.1.3';
if (type.startsWith('/react-router/5.')) return '5.3.3';
if (type.startsWith('/react-router/6.')) return '6.26.1';
if (type.startsWith('/react-router/6.')) return '6.26.2';
if (type.startsWith('/react-side-effect/')) return '2.1.2';
if (type.startsWith('/react-lifecycles-compat/')) return '3.0.4';
if (type.startsWith('/redux/4.')) return '4.2.1';
@ -410,7 +411,7 @@ targets.setLastVersion = function (type, version) {
if (type.startsWith('/scriptaculous/1.')) return '1.9.0';
if (type.startsWith('/ScrollMagic/2.')) return '2.0.8';
if (type.startsWith('/search-insights/1.')) return '1.10.0';
if (type.startsWith('/search-insights/2.')) return '2.17.1';
if (type.startsWith('/search-insights/2.')) return '2.17.2';
if (type.startsWith('/select2/3.')) return '3.5.4';
if (type.startsWith('/select2/4.')) return '4.0.13';
if (type.startsWith('/semantic-ui/2.')) return '2.5.0';
@ -490,17 +491,18 @@ targets.setLastVersion = function (type, version) {
if (helpers.compareVersion('5.20.5', version)) return '5.20.5'; // <= 5.20.5
if (helpers.compareVersion('6.13.0', version)) return '6.13.0'; // > 5.20.5 to <= 6.13.0
if (helpers.compareVersion('7.21.1', version)) return '7.21.1'; // > 6.13.0 to <= 7.21.1
return '8.17.4';
return '8.18.0';
}
if (type.startsWith('/vue/1.')) return '1.0.28';
if (type.startsWith('/vue/2.')) return '2.6.14';
if (type.startsWith('/vue/3.')) return '3.5.3';
if (type.startsWith('/vue/3.')) return '3.5.4';
if (type.startsWith('/vue-i18n/8.')) return '8.27.2';
if (type.startsWith('/vue-i18n/9.')) return '9.14.0';
if (type.startsWith('/vue-i18n/10.')) return '10.0.1';
if (type.startsWith('/vue-match-media/1.')) return '1.0.3';
if (type.startsWith('/vue-resource/1.')) return '1.5.3';
if (type.startsWith('/vue-router/3.')) return '3.6.5';
if (type.startsWith('/vue-router/4.')) return '4.4.3';
if (type.startsWith('/vue-router/4.')) return '4.4.4';
if (type.startsWith('/vuex/3.')) return '3.6.2';
if (type.startsWith('/vuex/4.')) return '4.1.0';
if (type.startsWith('/waypoints/4.')) return '4.0.1';
@ -521,6 +523,10 @@ targets.determineResourceName = function (filename) {
};
const ListOfFiles = {
'featherlight.min.css': 'featherlight (CSS)',
'featherlight.min.jsm': 'featherlight (JS)',
'featherlight.gallery.min.css': 'featherlight Gallery (CSS)',
'featherlight.gallery.min.jsm': 'featherlight Gallery (JS)',
'mousetrap.min.jsm': 'mousetrap',
'jquery.powertip.min.jsm': 'jquery-powertip',
'jsrender.min.jsm': 'jsrender',

View File

@ -27,21 +27,33 @@
<div class="release-notes-area">
<p>Updated</p>
<ul>
<li>algoliasearch v5.3.0</li>
<li>axios v1.7.3 -> v1.7.7</li>
<li>dayjs v1.11.12 -> v1.11.13</li>
<li>hls.js v1.5.14 -> v1.5.15</li>
<li>instantsearch.css v8.4.0 -> v8.5.0</li>
<li>instantsearch.js v4.73.4 -> v4.74.0</li>
<li>jquery.tablesorter v2.31.3 -> v2.32.0</li>
<li>libphonenumber-js v1.11.5 -> v1.11.7</li>
<li>p2p-media-loader-hlsjs & p2p-media-loader-core v1.0.4 -> v1.0.5</li>
<li>react-router v6.26.0 -> v6.26.1</li>
<li>search-insights v2.16.2 -> v2.17.1</li>
<li>tensorflow v4.20.0 -> v4.21.0</li>
<li>video.js v8.17.3 -> v8.17.4</li>
<li>vue v3.4.37 -> v3.5.3</li>
<li>vue-i18n v9.13.1 -> v9.14.0</li>
<li>algoliasearch v5.3.0 -> v5.4.1</li>
<li>instantsearch.css v8.5.0 -> v8.5.1</li>
<li>instantsearch.js v4.74.0 -> v4.74.1</li>
<li>libphonenumber-js v1.11.7 -> v1.11.8</li>
<li>p2p-media-loader-core & p2p-media-loader-hlsjs v1.0.5 -> v2.0.1</li>
<li>react-intl v6.6.8 -> v6.7.0</li>
<li>react-router v6.26.1 -> v6.26.2</li>
<li>search-insights v2.17.1 -> v2.17.2</li>
<li>video.js v8.17.4 -> v8.18.0</li>
<li>vue v3.5.3 -> v3.5.4</li>
<li>vue-i18n v10.0.1</li>
<li>vue-router v4.4.3 -> v4.4.4</li>
</ul>
<p>Improved</p>
<ul>
<li>redirect outdated paths of font-awesome</li>
<li>Use charset of the response header in the initial TextDecoder. (<a href="https://codeberg.org/nobody/LocalCDN/issues/1646">#1646</a>)</li>
<li>Use correct file for vue-i18n >= v9.0.0</li>
</ul>
<p>Mapping</p>
<ul>
<li>cdn.jsdelivr.net -> popperjs (<a href="https://codeberg.org/nobody/LocalCDN/issues/1644">#1644</a>)</li>
<li>cdn.jsdelivr.net -> video.js (<a href="https://codeberg.org/nobody/LocalCDN/issues/1644">#1644</a>)</li>
</ul>
<p>Added</p>
<ul>
<li>featherlight v1.7.13 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1644">#1644</a>)</li>
</ul>
</div>
<div id="generator-section">
@ -80,6 +92,25 @@
</div>
<div id="history"><span id="history-indicator">+</span> Previous Versions</div>
<div id="history-release-notes">
<p class='release-date'>2024-09-09 (v2.6.73)</p>
<p>Updated</p>
<ul>
<li>algoliasearch v5.3.0</li>
<li>axios v1.7.3 -> v1.7.7</li>
<li>dayjs v1.11.12 -> v1.11.13</li>
<li>hls.js v1.5.14 -> v1.5.15</li>
<li>instantsearch.css v8.4.0 -> v8.5.0</li>
<li>instantsearch.js v4.73.4 -> v4.74.0</li>
<li>jquery.tablesorter v2.31.3 -> v2.32.0</li>
<li>libphonenumber-js v1.11.5 -> v1.11.7</li>
<li>p2p-media-loader-hlsjs & p2p-media-loader-core v1.0.4 -> v1.0.5</li>
<li>react-router v6.26.0 -> v6.26.1</li>
<li>search-insights v2.16.2 -> v2.17.1</li>
<li>tensorflow v4.20.0 -> v4.21.0</li>
<li>video.js v8.17.3 -> v8.17.4</li>
<li>vue v3.4.37 -> v3.5.3</li>
<li>vue-i18n v9.13.1 -> v9.14.0</li>
</ul>
<p class='release-date'>2024-08-14 (v2.6.72)</p>
<p>Fixed</p>
<ul>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
/**
* Featherlight Gallery an extension for the ultra slim jQuery lightbox
* Version 1.7.13 - http://noelboss.github.io/featherlight/
*
* Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
* MIT Licensed.
**/
.featherlight-next,.featherlight-previous{display:block;position:absolute;top:25px;right:25px;bottom:0;left:80%;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(0,0,0,0)}.featherlight-previous{left:25px;right:80%}.featherlight-next:hover,.featherlight-previous:hover{background:rgba(255,255,255,.25)}.featherlight-next span,.featherlight-previous span{display:none;position:absolute;top:50%;left:5%;width:82%;text-align:center;font-size:80px;line-height:80px;margin-top:-40px;text-shadow:0 0 5px #fff;color:#fff;font-style:normal;font-weight:400}.featherlight-next span{right:5%;left:auto}.featherlight-next:hover span,.featherlight-previous:hover span{display:inline-block}.featherlight-first-slide.featherlight-last-slide .featherlight-next,.featherlight-first-slide.featherlight-last-slide .featherlight-previous,.featherlight-loading .featherlight-next,.featherlight-loading .featherlight-previous,.featherlight-swipe-aware .featherlight-next,.featherlight-swipe-aware .featherlight-previous{display:none}@media only screen and (max-device-width:1024px){.featherlight-next:hover,.featherlight-previous:hover{background:0 0}.featherlight-next span,.featherlight-previous span{display:block}}@media only screen and (max-width:1024px){.featherlight-next,.featherlight-previous{top:10px;right:10px;left:85%}.featherlight-previous{left:10px;right:85%}.featherlight-next span,.featherlight-previous span{margin-top:-30px;font-size:40px}}

View File

@ -0,0 +1,7 @@
/**
* Featherlight Gallery an extension for the ultra slim jQuery lightbox
* Version 1.7.13 - http://noelboss.github.io/featherlight/
*
* Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
* MIT Licensed.
**/!function(a){"use strict";function b(c,d){if(!(this instanceof b)){var e=new b(a.extend({$source:c,$currentTarget:c.first()},d));return e.open(),e}a.featherlight.apply(this,arguments),this.chainCallbacks(h)}var c=function(a){window.console&&window.console.warn&&window.console.warn("FeatherlightGallery: "+a)};if("undefined"==typeof a)return c("Too much lightness, Featherlight needs jQuery.");if(!a.featherlight)return c("Load the featherlight plugin before the gallery plugin");var d="ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch,e=a.event&&a.event.special.swipeleft&&a,f=window.Hammer&&function(a){var b=new window.Hammer.Manager(a[0]);return b.add(new window.Hammer.Swipe),b},g=d&&(e||f);d&&!g&&c("No compatible swipe library detected; one must be included before featherlightGallery for swipe motions to navigate the galleries.");var h={afterClose:function(a,b){var c=this;return c.$instance.off("next."+c.namespace+" previous."+c.namespace),c._swiper&&(c._swiper.off("swipeleft",c._swipeleft).off("swiperight",c._swiperight),c._swiper=null),a(b)},beforeOpen:function(a,b){var c=this;return c.$instance.on("next."+c.namespace+" previous."+c.namespace,function(a){var b="next"===a.type?1:-1;c.navigateTo(c.currentNavigation()+b)}),g&&(c._swiper=g(c.$instance).on("swipeleft",c._swipeleft=function(){c.$instance.trigger("next")}).on("swiperight",c._swiperight=function(){c.$instance.trigger("previous")}),c.$instance.addClass(this.namespace+"-swipe-aware",g)),c.$instance.find("."+c.namespace+"-content").append(c.createNavigation("previous")).append(c.createNavigation("next")),a(b)},beforeContent:function(a,b){var c=this.currentNavigation(),d=this.slides().length;return this.$instance.toggleClass(this.namespace+"-first-slide",0===c).toggleClass(this.namespace+"-last-slide",c===d-1),a(b)},onKeyUp:function(a,b){var c={37:"previous",39:"next"}[b.keyCode];return c?(this.$instance.trigger(c),!1):a(b)}};a.featherlight.extend(b,{autoBind:"[data-featherlight-gallery]"}),a.extend(b.prototype,{previousIcon:"&#9664;",nextIcon:"&#9654;",galleryFadeIn:100,galleryFadeOut:300,slides:function(){return this.filter?this.$source.find(this.filter):this.$source},images:function(){return c("images is deprecated, please use slides instead"),this.slides()},currentNavigation:function(){return this.slides().index(this.$currentTarget)},navigateTo:function(b){var c=this,d=c.slides(),e=d.length,f=c.$instance.find("."+c.namespace+"-inner");return b=(b%e+e)%e,c.$currentTarget=d.eq(b),c.beforeContent(),a.when(c.getContent(),f.fadeTo(c.galleryFadeOut,.2)).always(function(a){c.setContent(a),c.afterContent(),a.fadeTo(c.galleryFadeIn,1)})},createNavigation:function(b){var c=this;return a('<span title="'+b+'" class="'+this.namespace+"-"+b+'"><span>'+this[b+"Icon"]+"</span></span>").click(function(d){a(this).trigger(b+"."+c.namespace),d.preventDefault()})}}),a.featherlightGallery=b,a.fn.featherlightGallery=function(a){return b.attach(this,a),this},a(document).ready(function(){b._onReady()})}(jQuery);

View File

@ -0,0 +1,8 @@
/**
* Featherlight - ultra slim jQuery lightbox
* Version 1.7.13 - http://noelboss.github.io/featherlight/
*
* Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
* MIT Licensed.
**/
html.with-featherlight{overflow:hidden}.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight link.featherlight-inner,.featherlight script.featherlight-inner,.featherlight style.featherlight-inner{display:none}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font-family:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000;border:0;padding:0}.featherlight .featherlight-close-icon::-moz-focus-inner{border:0;padding:0}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0;-webkit-overflow-scrolling:touch}.featherlight iframe{border:0}.featherlight *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:0;margin-right:0;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}@media print{html.with-featherlight>*>:not(.featherlight){display:none}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
/**
* React Router v6.26.1
* React Router v6.26.2
*
* Copyright (c) Remix Software Inc.
*

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,4 @@
In this directory the file was renamed.
Original: vue-i18n.global.prod.min.js
Now: vue-i18n.min.jsm

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
In this directory the file was renamed.
Original: vue-i18n.cjs.min.js
Original: vue-i18n.global.prod.min.js
Now: vue-i18n.min.jsm

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long