mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-19 18:27:55 +08:00

- Updated to newest version of all modules, and tested/verified. - No longer generate source maps if asset group is neither concatenating nor transforming (LESS or TypeScript). - Replaced "autoprefixer" and "css-minify" with the newer "css-nano". - Added "gulp-eol" for normalization of line endings in all outputs. - Added separate streams for minified and non-minified CSS outputs to work around bugs in source mapping that prevented asset paths containing "../" from being used. - Added "es6-promise" polyfill for compat with older versions of Node.js. - Increased global _maxListeners to suppress memory leak warning from gulp.watch().
219 lines
7.0 KiB
JavaScript
219 lines
7.0 KiB
JavaScript
/*
|
|
** NOTE: This file is generated by Gulp and should not be edited directly!
|
|
** Any changes made directly to this file will be overwritten next time its asset group is processed by Gulp.
|
|
*/
|
|
|
|
/**
|
|
* @preserve console-shim 1.0.2
|
|
* https://github.com/kayahr/console-shim
|
|
* Copyright (C) 2011 Klaus Reimer <k@ailis.de>
|
|
* Licensed under the MIT license
|
|
* (See http://www.opensource.org/licenses/mit-license)
|
|
*/
|
|
|
|
|
|
(function(){
|
|
"use strict";
|
|
|
|
/**
|
|
* Returns a function which calls the specified function in the specified
|
|
* scope.
|
|
*
|
|
* @param {Function} func
|
|
* The function to call.
|
|
* @param {Object} scope
|
|
* The scope to call the function in.
|
|
* @param {...*} args
|
|
* Additional arguments to pass to the bound function.
|
|
* @returns {function(...[*]): undefined}
|
|
* The bound function.
|
|
*/
|
|
var bind = function(func, scope, args)
|
|
{
|
|
var fixedArgs = Array.prototype.slice.call(arguments, 2);
|
|
return function()
|
|
{
|
|
var args = fixedArgs.concat(Array.prototype.slice.call(arguments, 0));
|
|
(/** @type {Function} */ func).apply(scope, args);
|
|
};
|
|
};
|
|
|
|
// Create console if not present
|
|
if (!window["console"]) window.console = /** @type {Console} */ ({});
|
|
var console = (/** @type {Object} */ window.console);
|
|
|
|
// Implement console log if needed
|
|
if (!console["log"])
|
|
{
|
|
// Use log4javascript if present
|
|
if (window["log4javascript"])
|
|
{
|
|
var log = log4javascript.getDefaultLogger();
|
|
console.log = bind(log.info, log);
|
|
console.debug = bind(log.debug, log);
|
|
console.info = bind(log.info, log);
|
|
console.warn = bind(log.warn, log);
|
|
console.error = bind(log.error, log);
|
|
}
|
|
|
|
// Use empty dummy implementation to ignore logging
|
|
else
|
|
{
|
|
console.log = (/** @param {...*} args */ function(args) {});
|
|
}
|
|
}
|
|
|
|
// Implement other log levels to console.log if missing
|
|
if (!console["debug"]) console.debug = console.log;
|
|
if (!console["info"]) console.info = console.log;
|
|
if (!console["warn"]) console.warn = console.log;
|
|
if (!console["error"]) console.error = console.log;
|
|
|
|
// Wrap the log methods in IE (<=9) because their argument handling is wrong
|
|
// This wrapping is also done if the __consoleShimTest__ symbol is set. This
|
|
// is needed for unit testing.
|
|
if (window["__consoleShimTest__"] != null ||
|
|
eval("/*@cc_on @_jscript_version <= 9@*/"))
|
|
{
|
|
/**
|
|
* Wraps the call to a real IE logging method. Modifies the arguments so
|
|
* parameters which are not represented by a placeholder are properly
|
|
* printed with a space character as separator.
|
|
*
|
|
* @param {...*} args
|
|
* The function arguments. First argument is the log function
|
|
* to call, the other arguments are the log arguments.
|
|
*/
|
|
var wrap = function(args)
|
|
{
|
|
var i, max, match, log;
|
|
|
|
// Convert argument list to real array
|
|
args = Array.prototype.slice.call(arguments, 0);
|
|
|
|
// First argument is the log method to call
|
|
log = args.shift();
|
|
|
|
max = args.length;
|
|
if (max > 1 && window["__consoleShimTest__"] !== false)
|
|
{
|
|
// When first parameter is not a string then add a format string to
|
|
// the argument list so we are able to modify it in the next stop
|
|
if (typeof(args[0]) != "string")
|
|
{
|
|
args.unshift("%o");
|
|
max += 1;
|
|
}
|
|
|
|
// For each additional parameter which has no placeholder in the
|
|
// format string we add another placeholder separated with a
|
|
// space character.
|
|
match = args[0].match(/%[a-z]/g);
|
|
for (i = match ? match.length + 1 : 1; i < max; i += 1)
|
|
{
|
|
args[0] += " %o";
|
|
}
|
|
}
|
|
Function.apply.call(log, console, args);
|
|
};
|
|
|
|
// Wrap the native log methods of IE to fix argument output problems
|
|
console.log = bind(wrap, window, console.log);
|
|
console.debug = bind(wrap, window, console.debug);
|
|
console.info = bind(wrap, window, console.info);
|
|
console.warn = bind(wrap, window, console.warn);
|
|
console.error = bind(wrap, window, console.error);
|
|
}
|
|
|
|
// Implement console.assert if missing
|
|
if (!console["assert"])
|
|
{
|
|
console["assert"] = function()
|
|
{
|
|
var args = Array.prototype.slice.call(arguments, 0);
|
|
var expr = args.shift();
|
|
if (!expr)
|
|
{
|
|
args[0] = "Assertion failed: " + args[0];
|
|
console.error.apply(console, args);
|
|
}
|
|
};
|
|
}
|
|
|
|
// Linking console.dir and console.dirxml to the console.log method if
|
|
// missing. Hopefully the browser already logs objects and DOM nodes as a
|
|
// tree.
|
|
if (!console["dir"]) console["dir"] = console.log;
|
|
if (!console["dirxml"]) console["dirxml"] = console.log;
|
|
|
|
// Linking console.exception to console.error. This is not the same but
|
|
// at least some error message is displayed.
|
|
if (!console["exception"]) console["exception"] = console.error;
|
|
|
|
// Implement console.time and console.timeEnd if one of them is missing
|
|
if (!console["time"] || !console["timeEnd"])
|
|
{
|
|
var timers = {};
|
|
console["time"] = function(id)
|
|
{
|
|
timers[id] = new Date().getTime();
|
|
};
|
|
console["timeEnd"] = function(id)
|
|
{
|
|
var start = timers[id];
|
|
if (start)
|
|
{
|
|
console.log(id + ": " + (new Date().getTime() - start) + "ms");
|
|
delete timers[id];
|
|
}
|
|
};
|
|
}
|
|
|
|
// Implement console.table if missing
|
|
if (!console["table"])
|
|
{
|
|
console["table"] = function(data, columns)
|
|
{
|
|
var i, iMax, row, j, jMax, k;
|
|
|
|
// Do nothing if data has wrong type or no data was specified
|
|
if (!data || !(data instanceof Array) || !data.length) return;
|
|
|
|
// Auto-calculate columns array if not set
|
|
if (!columns || !(columns instanceof Array))
|
|
{
|
|
columns = [];
|
|
for (k in data[0])
|
|
{
|
|
if (!data[0].hasOwnProperty(k)) continue;
|
|
columns.push(k);
|
|
}
|
|
}
|
|
|
|
for (i = 0, iMax = data.length; i < iMax; i += 1)
|
|
{
|
|
row = [];
|
|
for (j = 0, jMax = columns.length; j < jMax; j += 1)
|
|
{
|
|
row.push(data[i][columns[j]]);
|
|
}
|
|
|
|
Function.apply.call(console.log, console, row);
|
|
}
|
|
};
|
|
}
|
|
|
|
// Dummy implementations of other console features to prevent error messages
|
|
// in browsers not supporting it.
|
|
if (!console["clear"]) console["clear"] = function() {};
|
|
if (!console["trace"]) console["trace"] = function() {};
|
|
if (!console["group"]) console["group"] = function() {};
|
|
if (!console["groupCollapsed"]) console["groupCollapsed"] = function() {};
|
|
if (!console["groupEnd"]) console["groupEnd"] = function() {};
|
|
if (!console["timeStamp"]) console["timeStamp"] = function() {};
|
|
if (!console["profile"]) console["profile"] = function() {};
|
|
if (!console["profileEnd"]) console["profileEnd"] = function() {};
|
|
if (!console["count"]) console["count"] = function() {};
|
|
|
|
})();
|