Tweaked gitignore

gitignore removed all composer and npm files, so automated builds would fail
This commit is contained in:
Henry Whitaker
2020-04-12 21:24:03 +01:00
parent 698687f12d
commit ea5808047f
27863 changed files with 3399604 additions and 5 deletions

80
conf/site/node_modules/webpack-log/src/index.js generated vendored Normal file
View File

@@ -0,0 +1,80 @@
'use strict';
/* global window: true */
/* eslint-disable
no-shadow,
no-param-reassign,
space-before-function-paren
*/
const uuid = require('uuid/v4');
const colors = require('ansi-colors');
const loglevel = require('./loglevel');
const symbols = {
trace: colors.grey('₸'),
debug: colors.cyan('➤'),
info: colors.blue(colors.symbols.info),
warn: colors.yellow(colors.symbols.warning),
error: colors.red(colors.symbols.cross)
};
const defaults = {
name: '<unknown>',
level: 'info',
unique: true
};
const prefix = {
level (options) {
return symbols[options.level];
},
template: `{{level}} ${colors.gray('「{{name}}」')}: `
};
function log (options) {
const opts = Object.assign({}, defaults, options);
const { id } = options;
opts.prefix = Object.assign({}, prefix, options.prefix);
delete opts.id;
Object.defineProperty(opts, 'id', {
get() {
if (!id) {
return this.name + (opts.unique ? `-${uuid()}` : '');
}
return id;
}
});
if (opts.timestamp) {
opts.prefix.template = `[{{time}}] ${opts.prefix.template}`;
}
const log = loglevel.getLogger(opts);
if (!Object.prototype.hasOwnProperty.call(log, 'id')) {
Object.defineProperty(log, 'id', {
get() {
return opts.id;
}
});
}
return log;
}
module.exports = log;
// NOTE: this is exported so that consumers of webpack-log can use the same
// version of ansi-colors to decorate log messages without incurring additional
// dependency overhead
module.exports.colors = colors;
// NOTE: This is an undocumented function solely for the purpose of tests.
// Do not use this method in production code. Using in production code
// may result in strange behavior.
module.exports.delLogger = function delLogger(name) {
delete loglevel.loggers[name];
};
module.exports.factories = loglevel.factories;

View File

@@ -0,0 +1,91 @@
'use strict';
/* global window: true */
/* eslint-disable
multiline-ternary,
no-param-reassign
*/
const PrefixFactory = require('./PrefixFactory');
const MethodFactory = require('./MethodFactory');
const defaults = {
name: +new Date(),
level: 'warn',
prefix: null,
factory: null
};
class LogLevel {
constructor(options) {
// implement for some _very_ loose type checking. avoids getting into a
// circular require between MethodFactory and LogLevel
this.type = 'LogLevel';
this.options = Object.assign({}, defaults, options);
this.methodFactory = options.factory;
if (!this.methodFactory) {
const factory = options.prefix
? new PrefixFactory(this, options.prefix)
: new MethodFactory(this);
this.methodFactory = factory;
}
if (!this.methodFactory.logger) {
this.methodFactory.logger = this;
}
this.name = options.name || '<unknown>';
// this.level is a setter, do this after setting up the factory
this.level = this.options.level;
}
get factory() {
return this.methodFactory;
}
set factory(factory) {
factory.logger = this;
this.methodFactory = factory;
this.methodFactory.replaceMethods(this.level);
}
enable() {
this.level = this.levels.TRACE;
}
disable() {
this.level = this.levels.SILENT;
}
get level() {
return this.currentLevel;
}
set level(logLevel) {
const level = this.methodFactory.distillLevel(logLevel);
if (level == null) {
throw new Error(
`loglevel: setLevel() called with invalid level: ${logLevel}`
);
}
this.currentLevel = level;
this.methodFactory.replaceMethods(level);
if (typeof console === 'undefined' && level < this.levels.SILENT) {
// eslint-disable-next-line no-console
console.warn(
'loglevel: console is undefined. The log will produce no output'
);
}
}
get levels() { // eslint-disable-line class-methods-use-this
return this.methodFactory.levels;
}
}
module.exports = LogLevel;

View File

@@ -0,0 +1,140 @@
'use strict';
/* eslint-disable
arrow-parens,
multiline-ternary,
consistent-return,
no-param-reassign,
prefer-destructuring
*/
const noop = () => {};
const levels = Symbol('levels');
const instance = Symbol('instance');
class MethodFactory {
constructor(logger) {
this[levels] = {
TRACE: 0,
DEBUG: 1,
INFO: 2,
WARN: 3,
ERROR: 4,
SILENT: 5
};
this[instance] = logger;
}
set logger(logger) {
this[instance] = logger;
}
get logger() {
return this[instance];
}
get levels() {
return this[levels];
}
get methods() {
return Object.keys(this.levels)
.map((key) => key.toLowerCase())
.filter((key) => key !== 'silent');
}
distillLevel(level) {
let result = level;
if (
typeof result === 'string' &&
typeof this.levels[result.toUpperCase()] !== 'undefined'
) {
result = this.levels[result.toUpperCase()];
}
if (this.levelValid(result)) {
return result;
}
}
levelValid(level) {
if (
typeof level === 'number' && level >= 0 &&
level <= this.levels.SILENT
) {
return true;
}
return false;
}
/**
* Build the best logging method possible for this env
* Wherever possible we want to bind, not wrap, to preserve stack traces.
* Since we're targeting modern browsers, there's no need to wait for the
* console to become available.
*/
// eslint-disable-next-line class-methods-use-this
make(method) {
if (method === 'debug') {
method = 'log';
}
/* eslint-disable no-console */
if (typeof console[method] !== 'undefined') {
return this.bindMethod(console, method);
} else if (typeof console.log !== 'undefined') {
return this.bindMethod(console, 'log');
}
/* eslint-enable no-console */
return noop;
}
// eslint-disable-next-line class-methods-use-this
bindMethod(obj, name) {
const method = obj[name];
if (typeof method.bind === 'function') {
return method.bind(obj);
}
try {
return Function.prototype.bind.call(method, obj);
} catch (err) {
// Missing bind shim or IE8 + Modernizr, fallback to wrapping
return function result() {
// eslint-disable-next-line prefer-rest-params
return Function.prototype.apply.apply(method, [obj, arguments]);
};
}
}
replaceMethods(logLevel) {
const level = this.distillLevel(logLevel);
if (level == null) {
throw new Error(
`loglevel: replaceMethods() called with invalid level: ${logLevel}`
);
}
if (!this.logger || this.logger.type !== 'LogLevel') {
throw new TypeError(
'loglevel: Logger is undefined or invalid. Please specify a valid Logger instance.'
);
}
this.methods.forEach((method) => {
this.logger[method] = (this.levels[method.toUpperCase()] < level)
? noop
: this.make(method);
});
// Define log.log as an alias for log.debug
this.logger.log = this.logger.debug;
}
}
module.exports = MethodFactory;

View File

@@ -0,0 +1,60 @@
'use strict';
/* eslint-disable
no-param-reassign,
space-before-function-paren
*/
const MethodFactory = require('./MethodFactory');
const defaults = {
name (options) {
return options.logger.name;
},
time () {
return new Date().toTimeString().split(' ')[0];
},
level (options) {
return `[${options.level}]`;
},
template: '{{time}} {{level}} '
};
class PrefixFactory extends MethodFactory {
constructor(logger, options) {
super(logger);
this.options = Object.assign({}, defaults, options);
}
interpolate(level) {
return this.options.template.replace(/{{([^{}]*)}}/g, (stache, prop) => {
const fn = this.options[prop];
if (fn) {
return fn({ level, logger: this.logger });
}
return stache;
});
}
make(method) {
const og = super.make(method);
return (...args) => {
const [first] = args;
const output = this.interpolate(method);
if (typeof first === 'string') {
args[0] = output + first;
} else {
args.unshift(output);
}
og(...args);
};
}
}
module.exports = PrefixFactory;

View File

@@ -0,0 +1,64 @@
'use strict';
/* global window: true */
/* eslint-disable
no-shadow,
no-param-reassign,
space-before-function-paren
*/
const LogLevel = require('./LogLevel');
const MethodFactory = require('./MethodFactory');
const PrefixFactory = require('./PrefixFactory');
const defaultLogger = new LogLevel({ name: 'default' });
const cache = { default: defaultLogger };
// Grab the current global log variable in case of overwrite
const existing = (typeof window !== 'undefined') ? window.log : null;
const loglevel = Object.assign(defaultLogger, {
get factories() {
return {
MethodFactory,
PrefixFactory
};
},
get loggers() {
return cache;
},
getLogger(options) {
if (typeof options === 'string') {
options = { name: options };
}
if (!options.id) {
options.id = options.name;
}
const { name, id } = options;
const defaults = { level: defaultLogger.level };
if (typeof name !== 'string' || !name || !name.length) {
throw new TypeError('You must supply a name when creating a logger');
}
let logger = cache[id];
if (!logger) {
logger = new LogLevel(Object.assign({}, defaults, options));
cache[id] = logger;
}
return logger;
},
noConflict() {
if (typeof window !== 'undefined' && window.log === defaultLogger) {
window.log = existing;
}
return defaultLogger;
}
});
module.exports = loglevel;