Enable eslint

Running eslint on the code should make it easier to refactor the
code later.

Change-Id: I33cd7c609617d334596049223954dc24448cb1fe
This commit is contained in:
Sorin Sbarnea 2018-10-09 18:06:27 +01:00
parent 7cbb7ea7c3
commit 38124b8de4
4 changed files with 84 additions and 44 deletions

29
.eslintrc.js Normal file
View File

@ -0,0 +1,29 @@
module.exports = {
"env": {
"browser": true,
"jquery": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 6
},
"rules": {
"indent": [
"error",
4
],
"linebreak-style": [
"error",
"unix"
],
"no-console": "off",
"quotes": [
"error",
"double"
],
"semi": [
"error",
"always"
]
}
};

View File

@ -1,7 +1,7 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v1.3.0
rev: v1.4.0-1
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
@ -11,13 +11,14 @@ repos:
- id: check-merge-conflict
- id: check-symlinks
- id: check-vcs-permalinks
- id: check-json
- id: flake8
- id: debug-statements
- id: requirements-txt-fixer
- id: check-yaml
files: .*\.(yaml|yml)$
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.11.1
rev: v1.12.0
hooks:
- id: yamllint
files: \.(yaml|yml)$
@ -26,3 +27,8 @@ repos:
rev: 0.6.0
hooks:
- id: bashate
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v5.6.1 # Use the sha / tag you want to point at
hooks:
- id: eslint
entry: "eslint --format unix"

View File

@ -31,44 +31,47 @@ const zuul_status_url = zuul_status_base + "api/status/change/";
// Script start
$('style#gerrit_sitecss').append('.result_RUNNING { color: #1e9ced; }');
/* defined by hideci.js */
/* global ci_latest_patchset, ci_parse_comments */
$("style#gerrit_sitecss").append(".result_RUNNING { color: #1e9ced; }");
var render = function(jobs) {
var location = $('table.test_result_table');
var location = $("table.test_result_table");
var table = '<tbody>' +
'<tr>' +
'<td class="header">Zuul check</td>' +
'<td class="header ci_date result_WARNING">Still running</td>' +
'</tr>';
var table = "<tbody>" +
"<tr>" +
"<td class=\"header\">Zuul check</td>" +
"<td class=\"header ci_date result_WARNING\">Still running</td>" +
"</tr>";
$.each(jobs, function(i, job) {
var status_with_completeness = ((job.status === 'running' && typeof job.completeness !== 'undefined') ? 'RUNNING (' + job.completeness + ')' : job.status.toUpperCase());
var voting = job.voting === true ? '' : '<small> (non-voting)</small>';
$.each(jobs, function(i, job) {
var status_with_completeness = ((job.status === "running" && typeof job.completeness !== "undefined") ? "RUNNING (" + job.completeness + ")" : job.status.toUpperCase());
var voting = job.voting === true ? "" : "<small> (non-voting)</small>";
table += '<tr>' +
'<td><a href="' + job.url + '" rel="nofollow">' + job.name + '</a>' + voting + '</td>' +
'<td><span class="comment_test_result"><span class="result_' + job.status.toUpperCase() +'">' + status_with_completeness + '</span></td>' +
'</tr>';
});
table += "<tr>" +
"<td><a href=\"" + job.url + "\" rel=\"nofollow\">" + job.name + "</a>" + voting + "</td>" +
"<td><span class=\"comment_test_result\"><span class=\"result_" + job.status.toUpperCase() +"\">" + status_with_completeness + "</span></td>" +
"</tr>";
});
table += '</tbody>';
table += "</tbody>";
location.html(table);
location.html(table);
};
var main = function() {
const url = $(location).attr('href');
const url = $(location).attr("href");
const matches_url = /^https?:\/\/review\.openstack\.org\/(#\/c\/)?(\d*)\/?(\d*)?\/?$/.exec(url);
const change_id = matches_url[2];
var change_ver = matches_url[3];
if (typeof change_ver === 'undefined'){
if (typeof change_ver === "undefined"){
change_ver = ci_latest_patchset(ci_parse_comments());
}
var status_url = zuul_status_url + change_id + ',' + change_ver;
var status_url = zuul_status_url + change_id + "," + change_ver;
$.getJSON(status_url, function(data) {
@ -76,17 +79,17 @@ var main = function() {
var jobs = [];
if (data.length === 0){
if ($('.result_WARNING').length > 0){
location.reload();
}
return;
if ($(".result_WARNING").length > 0){
location.reload();
}
return;
}
for(i=0; i <= data.length; i++){
queue = data[i];
if (queue.items_behind.length == 0){
break;
}
for(var i=0; i <= data.length; i++){
queue = data[i];
if (queue.items_behind.length == 0){
break;
}
}
if (!queue){
@ -97,14 +100,14 @@ var main = function() {
$.each(queue.jobs, function(i, job) {
var item = {};
item.status = job.result ? job.result.toLowerCase() : (job.url ? 'running' : 'queued');
item.status = job.result ? job.result.toLowerCase() : (job.url ? "running" : "queued");
item.name = job.name;
item.voting = job.voting
item.voting = job.voting;
item.pipeline = job.pipeline;
item.url = job.result ? job.report_url : (job.url ? zuul_status_base + job.url : "#");
if (item.status === 'running' && job.remaining_time !== null){
item.completeness = Math.round(100 * (job.elapsed_time / (job.elapsed_time + job.remaining_time))) + '%';
if (item.status === "running" && job.remaining_time !== null){
item.completeness = Math.round(100 * (job.elapsed_time / (job.elapsed_time + job.remaining_time))) + "%";
}
jobs.push(item);
@ -119,18 +122,19 @@ var main = function() {
// So we refresh on each update.
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
/* eslint no-unused-vars: 0 */
var observer = new MutationObserver(function(mutations, observer) {
var span = $("span.rpcStatus");
$.each(mutations, function(i, mutation) {
if (mutation.target === span[0] &&
var span = $("span.rpcStatus");
$.each(mutations, function(i, mutation) {
if (mutation.target === span[0] &&
mutation.attributeName === "style" &&
(!(span.is(":visible")))) {
main();
}
});
main();
}
});
});
observer.observe(document, {
subtree: true,
attributes: true
subtree: true,
attributes: true
});

View File

@ -11,6 +11,7 @@
"envlist",
"envs",
"gerrit",
"hideci",
"htmlcov",
"ifeq",
"ifndef",