chore: Reformat jshint stuff

- Remove comments from jshint
- Replace " with '
- Replace var with const
This commit is contained in:
sthag 2026-02-09 21:17:53 +01:00
parent 7912b002a2
commit 9ce027285c
2 changed files with 106 additions and 122 deletions

161
.jshintrc
View file

@ -1,93 +1,74 @@
{ {
// JSHint Default Configuration File (as on JSHint website) "maxerr": 50,
// See http://jshint.com/docs/ for more details "bitwise": true,
"camelcase": false,
"maxerr" : 50, // {int} Maximum error before stopping "curly": false,
"eqeqeq": true,
// Enforcing "forin": true,
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.) "freeze": true,
"camelcase" : false, // true: Identifiers must be in camelCase "immed": false,
"curly" : false, // true: Require {} for every new block or scope "latedef": true,
"eqeqeq" : true, // true: Require triple equals (===) for comparison "newcap": true,
"forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty() "noarg": true,
"freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc. "noempty": true,
"immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());` "nonbsp": true,
"latedef" : true, // true: Require variables/functions to be defined before being used "nonew": false,
"newcap" : true, // true: Require capitalization of all constructor functions e.g. `new F()` "plusplus": false,
"noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee` "quotmark": true,
"noempty" : true, // true: Prohibit use of empty blocks "undef": true,
"nonbsp" : true, // true: Prohibit `non-breaking whitespace` characters. "unused": true,
"nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment) "strict": true,
"plusplus" : false, // true: Prohibit use of `++` and `--` "maxparams": false,
"quotmark" : true, // Quotation mark consistency: "maxdepth": false,
// false : do nothing (default) "maxstatements": false,
// true : ensure whatever is used is consistent "maxcomplexity": false,
// "single" : require single quotes "maxlen": false,
// "double" : require double quotes "varstmt": false,
"undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) "asi": false,
"unused" : true, // Unused variables: "boss": false,
// true : all variables, last function parameter "debug": false,
// "vars" : all variables only "eqnull": false,
// "strict" : all variables, all function parameters "esversion": 9,
"strict" : true, // true: Requires all functions run in ES5 Strict Mode "moz": false,
"maxparams" : false, // {int} Max number of formal params allowed per function "evil": false,
"maxdepth" : false, // {int} Max depth of nested blocks (within functions) "expr": false,
"maxstatements" : false, // {int} Max number statements per function "funcscope": false,
"maxcomplexity" : false, // {int} Max cyclomatic complexity per function "globalstrict": false,
"maxlen" : false, // {int} Max number of characters per line "iterator": false,
"varstmt" : false, // true: Disallow any var statements. Only `let` and `const` are allowed. "lastsemic": false,
"laxbreak": false,
// Relaxing "laxcomma": false,
"asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons) "loopfunc": false,
"boss" : false, // true: Tolerate assignments where comparisons would be expected "multistr": false,
"debug" : false, // true: Allow debugger statements e.g. browser breakpoints. "noyield": false,
"eqnull" : false, // true: Tolerate use of `== null` "notypeof": false,
"esversion" : 9, // {int} Specify the ECMAScript version to which the code must adhere. "proto": false,
"moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features) "scripturl": false,
// (ex: `for each`, multiple try/catch, function expression…) "shadow": false,
"evil" : false, // true: Tolerate use of `eval` and `new Function()` "sub": false,
"expr" : false, // true: Tolerate `ExpressionStatement` as Programs "supernew": false,
"funcscope" : false, // true: Tolerate defining variables inside control statements "validthis": false,
"globalstrict" : false, // true: Allow global "use strict" (also enables 'strict') "browser": true,
"iterator" : false, // true: Tolerate using the `__iterator__` property "browserify": false,
"lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block "couch": false,
"laxbreak" : false, // true: Tolerate possibly unsafe line breakings "devel": true,
"laxcomma" : false, // true: Tolerate comma-first style coding "dojo": false,
"loopfunc" : false, // true: Tolerate functions being defined in loops "jasmine": false,
"multistr" : false, // true: Tolerate multi-line strings "jquery": true,
"noyield" : false, // true: Tolerate generator functions with no yield statement in them. "mocha": true,
"notypeof" : false, // true: Tolerate invalid typeof operator values "mootools": false,
"proto" : false, // true: Tolerate using the `__proto__` property "node": false,
"scripturl" : false, // true: Tolerate script-targeted URLs "nonstandard": false,
"shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;` "phantom": false,
"sub" : false, // true: Tolerate using `[]` notation when it can still be expressed in dot notation "prototypejs": false,
"supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;` "qunit": false,
"validthis" : false, // true: Tolerate using this in a non-constructor function "rhino": false,
"shelljs": false,
// Environments "typed": false,
"browser" : true, // Web Browser (window, document, etc) "worker": false,
"browserify" : false, // Browserify (node.js code in the browser) "wsh": false,
"couch" : false, // CouchDB "yui": false,
"devel" : true, // Development/debugging (alert, confirm, etc) "globals": {
"dojo" : false, // Dojo Toolkit
"jasmine" : false, // Jasmine
"jquery" : true, // jQuery
"mocha" : true, // Mocha
"mootools" : false, // MooTools
"node" : false, // Node.js
"nonstandard" : false, // Widely adopted globals (escape, unescape, etc)
"phantom" : false, // PhantomJS
"prototypejs" : false, // Prototype and Scriptaculous
"qunit" : false, // QUnit
"rhino" : false, // Rhino
"shelljs" : false, // ShellJS
"typed" : false, // Globals for typed array constructions
"worker" : false, // Web Workers
"wsh" : false, // Windows Scripting Host
"yui" : false, // Yahoo User Interface
// Custom globals
"globals" : { // additional predefined global variables
"debugOn": true, "debugOn": true,
"hippie": true, "hippie": true,
"viewHover": true, "viewHover": true,
@ -100,5 +81,5 @@
"centerElementUnderCursor": true, "centerElementUnderCursor": true,
"setAttributesAccordingToPosition": true, "setAttributesAccordingToPosition": true,
"HippieTaskBar": true "HippieTaskBar": true
} }
} }

View file

@ -1,5 +1,5 @@
// TODO: Inhalte angleichen nach Zusammenfassung von app.js und function.js. // TODO: Inhalte angleichen nach Zusammenfassung von app.js und function.js.
// Bennung und Beschreibungen verbessern. // Benennung und Beschreibungen verbessern.
// This is called everytime // This is called everytime
function setup() { function setup() {
@ -56,7 +56,7 @@ function HippieScroll($tp, $dn) {
}); });
$dn.click(function (event) { $dn.click(function (event) {
event.preventDefault(); event.preventDefault();
var pos = Math.max(hippie.screen.dh, hippie.body.h) - hippie.screen.vh; const pos = Math.max(hippie.screen.dh, hippie.body.h) - hippie.screen.vh;
$('html').scrollTop(pos); $('html').scrollTop(pos);
// document.documentElement.scrollTop = pos; // document.documentElement.scrollTop = pos;
console.info('Scrolled down to', pos); console.info('Scrolled down to', pos);
@ -91,7 +91,7 @@ function HippieMeta($ma, $pp) {
let metaOn = false; let metaOn = false;
$ma.click(function () { $ma.click(function () {
var $wrap, $pop; const $wrap, $pop;
// if (metaOn !== true) { // if (metaOn !== true) {
if (!metaOn) { if (!metaOn) {
@ -162,23 +162,25 @@ function HippieMeta($ma, $pp) {
// Sets the href attribute to mailto: with given information // Sets the href attribute to mailto: with given information
function composeMail(tag, name, prov, suffix, text, topic) { function composeMail(tag, name, prov, suffix, text, topic) {
let trigger = tag.indexOf("."); 'use strict';
let trigger = tag.indexOf('.');
let mailString = name + '@' + prov + '.' + suffix; let mailString = name + '@' + prov + '.' + suffix;
let textString = mailString.replace(/@/g, "(at)"); let textString = mailString.replace(/@/g, '(at)');
let descString = "Nachricht an " + mailString; let descString = 'Nachricht an ' + mailString;
if (!text) { if (!text) {
text = mailString; text = mailString;
} else if (text === "at") { } else if (text === 'at') {
text = textString; text = textString;
} else if (text === "to") { } else if (text === 'to') {
text = descString; text = descString;
} }
if (topic) { if (topic) {
topic = "?subject=" + topic; topic = '?subject=' + topic;
} else { } else {
topic = ""; topic = '';
} }
if (trigger === -1) { if (trigger === -1) {
@ -186,7 +188,7 @@ function composeMail(tag, name, prov, suffix, text, topic) {
const elContent = el.innerHTML; const elContent = el.innerHTML;
el.innerHTML = elContent + text; el.innerHTML = elContent + text;
el.setAttribute("href", "mailto:" + mailString + topic); el.setAttribute('href', 'mailto:' + mailString + topic);
} else { } else {
const els = document.getElementsByClassName(tag.slice(1)); const els = document.getElementsByClassName(tag.slice(1));
@ -194,7 +196,7 @@ function composeMail(tag, name, prov, suffix, text, topic) {
const elContent = el.innerHTML; const elContent = el.innerHTML;
el.innerHTML = elContent + text; el.innerHTML = elContent + text;
el.setAttribute("href", "mailto:" + mailString + topic); el.setAttribute('href', 'mailto:' + mailString + topic);
} }
} }
} }
@ -378,6 +380,8 @@ function getClosestEdgeToMouse(event) {
} }
function centerElementUnderCursor(event, element) { function centerElementUnderCursor(event, element) {
'use strict';
const offsetX = element.getBoundingClientRect().width / 2; const offsetX = element.getBoundingClientRect().width / 2;
const offsetY = element.getBoundingClientRect().height / 2; const offsetY = element.getBoundingClientRect().height / 2;
const x = event.clientX - offsetX; const x = event.clientX - offsetX;
@ -388,6 +392,8 @@ function centerElementUnderCursor(event, element) {
} }
function setAttributesAccordingToPosition(element, position, attributes) { function setAttributesAccordingToPosition(element, position, attributes) {
'use strict';
element.classList.remove(...Object.values(attributes).map(pos => pos.className)); element.classList.remove(...Object.values(attributes).map(pos => pos.className));
Object.keys(attributes[position].styles).forEach(key => { Object.keys(attributes[position].styles).forEach(key => {
element.style[key] = ''; element.style[key] = '';
@ -457,17 +463,15 @@ Clock.prototype.formatDigits = function (val) {
return val; return val;
}; };
var floor = Math.floor;
function ongoing() { function ongoing() {
var now = new Date(); var now = new Date();
var w = Math.floor(now.getDay()); var w = Math.floor(now.getDay());
var D = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); var D = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
var DNumb = Math.floor(now.getDate()); var DNumb = Math.floor(now.getDate());
var MNumb = Math.floor(now.getMonth()); var MNumb = Math.floor(now.getMonth());
var M = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); var M = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'MaiOktober', 'November', 'Dezember'];
var y = Math.floor(now.getYear()); var y = Math.floor(now.getYear());
if (y < 999) y += 1900; if (y < 999) y += 1900;
@ -518,23 +522,22 @@ function ongoing() {
var moonPosX = 0; var moonPosX = 0;
var moonPosY = 0; var moonPosY = 0;
var sun = $("#sun").css({ var sun = $('#sun').css({
"left": (s / 60) * travelWidth, 'left': (s / 60) * travelWidth,
"top": (m / 60) * travelHeight 'top': (m / 60) * travelHeight
}); });
$("#day").text(D[w]); $('#day').text(D[w]);
$("#dayNumb").text(DNumb); $('#dayNumb').text(DNumb);
$("#month").text(M[MNumb]); $('#month').text(M[MNumb]);
$("#year").text(y); $('#year').text(y);
$("#time").text('' + zeroFill(h, 2) + ':' + zeroFill(m, 2) + ':' + zeroFill(s, 2)); $('#time').text('' + zeroFill(h, 2) + ':' + zeroFill(m, 2) + ':' + zeroFill(s, 2));
$("#julian").text(jd.toFixed(6));
//$("#star").text(stH + ':' + stM + ':' + stS);
$("#star").text(stH + ':' + stM);
$("#star1").text(stGMT);
$("#star2").text(stGMT2);
$('#julian').text(jd.toFixed(6));
//$('#star').text(stH + ':' + stM + ':' + stS);
$('#star').text(stH + ':' + stM);
$('#star1').text(stGMT);
$('#star2').text(stGMT2);
} }
function zeroFill(number, width) { function zeroFill(number, width) {
@ -542,7 +545,7 @@ function zeroFill(number, width) {
if (width > 0) { if (width > 0) {
return new Array(width + (/\./.test(number) ? 2 : 1)).join('0') + number; return new Array(width + (/\./.test(number) ? 2 : 1)).join('0') + number;
} }
return number + ""; // always return a string return number + ''; // always return a string
} }
//Länge der Balken im Diagram berechnen //Länge der Balken im Diagram berechnen
@ -562,7 +565,7 @@ String.prototype.transform = function () {
} }
//Array Element erweitern //Array Element erweitern
Array.prototype.arrayAdd = function () { Array.prototype.arrayAdd = function () {
return eval(this.join("+")); return eval(this.join('+'));
} }
//Speicherplatz in Prozent berechnen //Speicherplatz in Prozent berechnen