|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / lib / web / mage / requirejs / |
Filename | /home/a/home/dev2.destoffenstraat.com/lib/web/mage/requirejs/baseUrlResolver.js |
Size | 5.08 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 28-Jan-2025 06:45 |
Last accessed | 22-Aug-2025 13:54 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* Sample configuration:
*
require.config({
"config": {
"baseUrlInterceptor": {
"Magento_Ui/js/lib/knockout/bindings/collapsible.js": "../../../../frontend/Magento/luma/en_US/"
}
}
});
*/
/* global jsSuffixRegExp */
/* eslint-disable max-depth */
define('baseUrlInterceptor', [
'module'
], function (module) {
'use strict';
/**
* RequireJS Context object
*/
var ctx = require.s.contexts._,
/**
* Original function
*
* @type {Function}
*/
origNameToUrl = ctx.nameToUrl,
/**
* Original function
*
* @type {Function}
*/
newContextConstr = require.s.newContext;
/**
* Remove dots from URL
*
* @param {Array} ary
*/
function trimDots(ary) {
var i, part, length = ary.length;
for (i = 0; i < length; i++) {
part = ary[i];
if (part === '.') {
ary.splice(i, 1);
i -= 1;
} else if (part === '..') {
if (i === 1 && (ary[2] === '..' || ary[0] === '..')) {
//End of the line. Keep at least one non-dot
//path segment at the front so it can be mapped
//correctly to disk. Otherwise, there is likely
//no path mapping for a path starting with '..'.
//This can still fail, but catches the most reasonable
//uses of ..
break;
} else if (i > 0) {
ary.splice(i - 1, 2);
i -= 2;
}
}
}
}
/**
* Normalize URL string (remove '/../')
*
* @param {String} name
* @param {String} baseName
* @param {Object} applyMap
* @param {Object} localContext
* @returns {*}
*/
function normalize(name, baseName, applyMap, localContext) {
var lastIndex,
baseParts = baseName && baseName.split('/'),
normalizedBaseParts = baseParts;
//Adjust any relative paths.
if (name && name.charAt(0) === '.') {
//If have a base name, try to normalize against it,
//otherwise, assume it is a top-level require that will
//be relative to baseUrl in the end.
if (baseName) {
//Convert baseName to array, and lop off the last part,
//so that . matches that 'directory' and not name of the baseName's
//module. For instance, baseName of 'one/two/three', maps to
//'one/two/three.js', but we want the directory, 'one/two' for
//this normalization.
normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
name = name.split('/');
lastIndex = name.length - 1;
// If wanting node ID compatibility, strip .js from end
// of IDs. Have to do this here, and not in nameToUrl
// because node allows either .js or non .js to map
// to same file.
if (localContext.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
}
name = normalizedBaseParts.concat(name);
trimDots(name);
name = name.join('/');
} else if (name.indexOf('./') === 0) {
// No baseName, so this is ID is resolved relative
// to baseUrl, pull off the leading dot.
name = name.substring(2);
}
}
return name;
}
/**
* Get full url.
*
* @param {Object} context
* @param {String} url
* @return {String}
*/
function getUrl(context, url) {
var baseUrl = context.config.baseUrl,
newConfig = context.config,
modulePath = url.replace(baseUrl, ''),
newBaseUrl,
rewrite = module.config()[modulePath];
if (!rewrite) {
return url;
}
newBaseUrl = normalize(rewrite, baseUrl, undefined, newConfig);
return newBaseUrl + modulePath;
}
/**
* Replace original function.
*
* @returns {*}
*/
ctx.nameToUrl = function () {
return getUrl(ctx, origNameToUrl.apply(ctx, arguments));
};
/**
* Replace original function.
*
* @return {*}
*/
require.s.newContext = function () {
var newCtx = newContextConstr.apply(require.s, arguments),
newOrigNameToUrl = newCtx.nameToUrl;
/**
* New implementation of native function.
*
* @returns {String}
*/
newCtx.nameToUrl = function () {
return getUrl(newCtx, newOrigNameToUrl.apply(newCtx, arguments));
};
return newCtx;
};
});
require(['baseUrlInterceptor'], function () {
'use strict';
});
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* Sample configuration:
*
require.config({
"config": {
"baseUrlInterceptor": {
"Magento_Ui/js/lib/knockout/bindings/collapsible.js": "../../../../frontend/Magento/luma/en_US/"
}
}
});
*/
/* global jsSuffixRegExp */
/* eslint-disable max-depth */
define('baseUrlInterceptor', [
'module'
], function (module) {
'use strict';
/**
* RequireJS Context object
*/
var ctx = require.s.contexts._,
/**
* Original function
*
* @type {Function}
*/
origNameToUrl = ctx.nameToUrl,
/**
* Original function
*
* @type {Function}
*/
newContextConstr = require.s.newContext;
/**
* Remove dots from URL
*
* @param {Array} ary
*/
function trimDots(ary) {
var i, part, length = ary.length;
for (i = 0; i < length; i++) {
part = ary[i];
if (part === '.') {
ary.splice(i, 1);
i -= 1;
} else if (part === '..') {
if (i === 1 && (ary[2] === '..' || ary[0] === '..')) {
//End of the line. Keep at least one non-dot
//path segment at the front so it can be mapped
//correctly to disk. Otherwise, there is likely
//no path mapping for a path starting with '..'.
//This can still fail, but catches the most reasonable
//uses of ..
break;
} else if (i > 0) {
ary.splice(i - 1, 2);
i -= 2;
}
}
}
}
/**
* Normalize URL string (remove '/../')
*
* @param {String} name
* @param {String} baseName
* @param {Object} applyMap
* @param {Object} localContext
* @returns {*}
*/
function normalize(name, baseName, applyMap, localContext) {
var lastIndex,
baseParts = baseName && baseName.split('/'),
normalizedBaseParts = baseParts;
//Adjust any relative paths.
if (name && name.charAt(0) === '.') {
//If have a base name, try to normalize against it,
//otherwise, assume it is a top-level require that will
//be relative to baseUrl in the end.
if (baseName) {
//Convert baseName to array, and lop off the last part,
//so that . matches that 'directory' and not name of the baseName's
//module. For instance, baseName of 'one/two/three', maps to
//'one/two/three.js', but we want the directory, 'one/two' for
//this normalization.
normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
name = name.split('/');
lastIndex = name.length - 1;
// If wanting node ID compatibility, strip .js from end
// of IDs. Have to do this here, and not in nameToUrl
// because node allows either .js or non .js to map
// to same file.
if (localContext.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
}
name = normalizedBaseParts.concat(name);
trimDots(name);
name = name.join('/');
} else if (name.indexOf('./') === 0) {
// No baseName, so this is ID is resolved relative
// to baseUrl, pull off the leading dot.
name = name.substring(2);
}
}
return name;
}
/**
* Get full url.
*
* @param {Object} context
* @param {String} url
* @return {String}
*/
function getUrl(context, url) {
var baseUrl = context.config.baseUrl,
newConfig = context.config,
modulePath = url.replace(baseUrl, ''),
newBaseUrl,
rewrite = module.config()[modulePath];
if (!rewrite) {
return url;
}
newBaseUrl = normalize(rewrite, baseUrl, undefined, newConfig);
return newBaseUrl + modulePath;
}
/**
* Replace original function.
*
* @returns {*}
*/
ctx.nameToUrl = function () {
return getUrl(ctx, origNameToUrl.apply(ctx, arguments));
};
/**
* Replace original function.
*
* @return {*}
*/
require.s.newContext = function () {
var newCtx = newContextConstr.apply(require.s, arguments),
newOrigNameToUrl = newCtx.nameToUrl;
/**
* New implementation of native function.
*
* @returns {String}
*/
newCtx.nameToUrl = function () {
return getUrl(newCtx, newOrigNameToUrl.apply(newCtx, arguments));
};
return newCtx;
};
});
require(['baseUrlInterceptor'], function () {
'use strict';
});