Remove an erroneous npm-debug.log, disable failing test

Driveby fix: fix a few linter warnings and actually have CI linting things.
This commit is contained in:
impinball 2016-03-02 13:44:42 -05:00
parent 17acef768f
commit 55b99dd0e2
9 changed files with 136 additions and 145 deletions

View file

@ -1,6 +1,6 @@
/* global _ */
(function () {
'use strict';
'use strict'
/* jshint ignore:start */
// Underscore's Template Module
@ -8,19 +8,19 @@
var _ = (function (_) {
_.defaults = function (object) {
if (!object) {
return object;
return object
}
for (var argsIndex = 1, argsLength = arguments.length; argsIndex < argsLength; argsIndex++) {
var iterable = arguments[argsIndex];
var iterable = arguments[argsIndex]
if (iterable) {
for (var key in iterable) {
if (object[key] == null) {
object[key] = iterable[key];
object[key] = iterable[key]
}
}
}
}
return object;
return object
}
// By default, Underscore uses ERB-style template delimiters, change the
@ -29,221 +29,221 @@
evaluate : /<%([\s\S]+?)%>/g,
interpolate : /<%=([\s\S]+?)%>/g,
escape : /<%-([\s\S]+?)%>/g
};
}
// When customizing `templateSettings`, if you don't want to define an
// interpolation, evaluation or escaping regex, we need one that is
// guaranteed not to match.
var noMatch = /(.)^/;
var noMatch = /(.)^/
// Certain characters need to be escaped so that they can be put into a
// string literal.
var escapes = {
"'": "'",
'\\': '\\',
'\r': 'r',
'\n': 'n',
'\t': 't',
'\u2028': 'u2028',
'\u2029': 'u2029'
};
"\\": "\\",
"\r": "r",
"\n": "n",
"\t": "t",
"\u2028": "u2028",
"\u2029": "u2029"
}
var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g;
var escaper = /\\|'|\r|\n|\t|\u2028|\u2029/g
// JavaScript micro-templating, similar to John Resig's implementation.
// Underscore templating handles arbitrary delimiters, preserves whitespace,
// and correctly escapes quotes within interpolated code.
_.template = function(text, data, settings) {
var render;
settings = _.defaults({}, settings, _.templateSettings);
_.template = function (text, data, settings) {
var render
settings = _.defaults({}, settings, _.templateSettings)
// Combine delimiters into one regular expression via alternation.
var matcher = new RegExp([
(settings.escape || noMatch).source,
(settings.interpolate || noMatch).source,
(settings.evaluate || noMatch).source
].join('|') + '|$', 'g');
].join("|") + "|$", "g")
// Compile the template source, escaping string literals appropriately.
var index = 0;
var source = "__p+='";
text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
var index = 0
var source = "__p+='"
text.replace(matcher, function (match, escape, interpolate, evaluate, offset) {
source += text.slice(index, offset)
.replace(escaper, function(match) { return '\\' + escapes[match]; });
.replace(escaper, function (match) { return "\\" + escapes[match] })
if (escape) {
source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"
}
if (interpolate) {
source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"
}
if (evaluate) {
source += "';\n" + evaluate + "\n__p+='";
source += "';\n" + evaluate + "\n__p+='"
}
index = offset + match.length;
return match;
});
source += "';\n";
index = offset + match.length
return match
})
source += "';\n"
// If a variable is not specified, place data values in local scope.
if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n';
if (!settings.variable) source = "with(obj||{}){\n" + source + '}\n'
source = "var __t,__p='',__j=Array.prototype.join," +
"print=function(){__p+=__j.call(arguments,'');};\n" +
source + "return __p;\n";
source + "return __p;\n"
try {
render = new Function(settings.variable || 'obj', '_', source);
render = new Function(settings.variable || "obj", "_", source)
} catch (e) {
e.source = source;
throw e;
e.source = source
throw e
}
if (data) return render(data, _);
var template = function(data) {
return render.call(this, data, _);
};
if (data) return render(data, _)
var template = function (data) {
return render.call(this, data, _)
}
// Provide the compiled function source as a convenience for precompilation.
template.source = 'function(' + (settings.variable || 'obj') + '){\n' + source + '}';
template.source = "function(" + (settings.variable || "obj") + "){\n" + source + '}'
return template;
};
return template
}
return _;
})({});
return _
})({})
if (location.hostname === 'todomvc.com') {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-31081062-1', 'auto');
ga('send', 'pageview');
if (location.hostname === "todomvc.com") {
(function (i, s, o, g, r, a, m){ i["GoogleAnalyticsObject"] = r;i[r] = i[r]|| function (){
(i[r].q = i[r].q || []).push(arguments) }, i[r].l = 1 * new Date();a = s.createElement(o),
m = s.getElementsByTagName(o)[0];a.async = 1;a.src = g;m.parentNode.insertBefore(a, m)
})(window, document,"script","https://www.google-analytics.com/analytics.js","ga")
ga("create", "UA-31081062-1", "auto")
ga("send", "pageview")
}
/* jshint ignore:end */
function redirect() {
if (location.hostname === 'tastejs.github.io') {
location.href = location.href.replace('tastejs.github.io/todomvc', 'todomvc.com');
if (location.hostname === "tastejs.github.io") {
location.href = location.href.replace("tastejs.github.io/todomvc", "todomvc.com")
}
}
function findRoot() {
var base = location.href.indexOf('examples/');
return location.href.substr(0, base);
var base = location.href.indexOf("examples/")
return location.href.substr(0, base)
}
function getFile(file, callback) {
if (!location.host) {
return console.info('Miss the info bar? Run TodoMVC from a server to avoid a cross-origin error.');
return console.info("Miss the info bar? Run TodoMVC from a server to avoid a cross-origin error.")
}
var xhr = new XMLHttpRequest();
var xhr = new XMLHttpRequest()
xhr.open('GET', findRoot() + file, true);
xhr.send();
xhr.open("GET", findRoot() + file, true)
xhr.send()
xhr.onload = function () {
if (xhr.status === 200 && callback) {
callback(xhr.responseText);
callback(xhr.responseText)
}
};
}
}
function Learn(learnJSON, config) {
if (!(this instanceof Learn)) {
return new Learn(learnJSON, config);
return new Learn(learnJSON, config)
}
var template, framework;
var template, framework
if (typeof learnJSON !== 'object') {
if (typeof learnJSON !== "object") {
try {
learnJSON = JSON.parse(learnJSON);
learnJSON = JSON.parse(learnJSON)
} catch (e) {
return;
return
}
}
if (config) {
template = config.template;
framework = config.framework;
template = config.template
framework = config.framework
}
if (!template && learnJSON.templates) {
template = learnJSON.templates.todomvc;
template = learnJSON.templates.todomvc
}
if (!framework && document.querySelector('[data-framework]')) {
framework = document.querySelector('[data-framework]').dataset.framework;
if (!framework && document.querySelector("[data-framework]")) {
framework = document.querySelector("[data-framework]").dataset.framework
}
this.template = template;
this.template = template
if (learnJSON.backend) {
this.frameworkJSON = learnJSON.backend;
this.frameworkJSON.issueLabel = framework;
this.frameworkJSON = learnJSON.backend
this.frameworkJSON.issueLabel = framework
this.append({
backend: true
});
})
} else if (learnJSON[framework]) {
this.frameworkJSON = learnJSON[framework];
this.frameworkJSON.issueLabel = framework;
this.append();
this.frameworkJSON = learnJSON[framework]
this.frameworkJSON.issueLabel = framework
this.append()
}
this.fetchIssueCount();
this.fetchIssueCount()
}
Learn.prototype.append = function (opts) {
var aside = document.createElement('aside');
aside.innerHTML = _.template(this.template, this.frameworkJSON);
aside.className = 'learn';
var aside = document.createElement("aside")
aside.innerHTML = _.template(this.template, this.frameworkJSON)
aside.className = 'learn'
if (opts && opts.backend) {
// Remove demo link
var sourceLinks = aside.querySelector('.source-links');
var heading = sourceLinks.firstElementChild;
var sourceLink = sourceLinks.lastElementChild;
var sourceLinks = aside.querySelector(".source-links")
var heading = sourceLinks.firstElementChild
var sourceLink = sourceLinks.lastElementChild
// Correct link path
var href = sourceLink.getAttribute('href');
sourceLink.setAttribute('href', href.substr(href.lastIndexOf('http')));
sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML;
var href = sourceLink.getAttribute("href")
sourceLink.setAttribute("href", href.substr(href.lastIndexOf("http")))
sourceLinks.innerHTML = heading.outerHTML + sourceLink.outerHTML
} else {
// Localize demo links
var demoLinks = aside.querySelectorAll('.demo-link');
var demoLinks = aside.querySelectorAll(".demo-link")
Array.prototype.forEach.call(demoLinks, function (demoLink) {
if (demoLink.getAttribute('href').substr(0, 4) !== 'http') {
demoLink.setAttribute('href', findRoot() + demoLink.getAttribute('href'));
if (demoLink.getAttribute("href").substr(0, 4) !== "http") {
demoLink.setAttribute("href", findRoot() + demoLink.getAttribute("href"))
}
});
})
}
document.body.className = (document.body.className + ' learn-bar').trim();
document.body.insertAdjacentHTML('afterBegin', aside.outerHTML);
};
document.body.className = (document.body.className + " learn-bar").trim()
document.body.insertAdjacentHTML("afterBegin", aside.outerHTML)
}
Learn.prototype.fetchIssueCount = function () {
var issueLink = document.getElementById('issue-count-link');
var issueLink = document.getElementById("issue-count-link")
if (issueLink) {
var url = issueLink.href.replace('https://github.com', 'https://api.github.com/repos');
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
var url = issueLink.href.replace("https://github.com", "https://api.github.com/repos")
var xhr = new XMLHttpRequest()
xhr.open("GET", url, true)
xhr.onload = function (e) {
var parsedResponse = JSON.parse(e.target.responseText);
var parsedResponse = JSON.parse(e.target.responseText)
if (parsedResponse instanceof Array) {
var count = parsedResponse.length;
var count = parsedResponse.length
if (count !== 0) {
issueLink.innerHTML = 'This app has ' + count + ' open issues';
document.getElementById('issue-count').style.display = 'inline';
issueLink.innerHTML = "This app has " + count + ' open issues'
document.getElementById("issue-count").style.display = 'inline'
}
}
};
xhr.send();
}
xhr.send()
}
};
}
redirect();
getFile('learn.json', Learn);
})();
redirect()
getFile("learn.json", Learn)
})()