Fix lint issues

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2020-12-14 10:21:04 +01:00
parent 594d5a91ec
commit 8dc5b8a4b0
No known key found for this signature in database
GPG Key ID: A061B9DDE0CA0773
20 changed files with 26 additions and 43 deletions

View File

@ -32,7 +32,7 @@ module.exports = {
"@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-explicit-any": "off",
"cypress/no-unnecessary-waiting": "off", "cypress/no-unnecessary-waiting": "off",
"vue/max-len": [ "vue/max-len": [
"error", "off",
{ {
ignoreStrings: true, ignoreStrings: true,
ignoreHTMLTextContents: true, ignoreHTMLTextContents: true,
@ -45,7 +45,6 @@ module.exports = {
"prettier/prettier": "error", "prettier/prettier": "error",
"@typescript-eslint/interface-name-prefix": "off", "@typescript-eslint/interface-name-prefix": "off",
"@typescript-eslint/no-use-before-define": "off", "@typescript-eslint/no-use-before-define": "off",
"import/prefer-default-export": "off",
"import/extensions": "off", "import/extensions": "off",
"import/no-unresolved": "off", "import/no-unresolved": "off",
"no-shadow": "off", "no-shadow": "off",
@ -53,25 +52,4 @@ module.exports = {
}, },
ignorePatterns: ["src/typings/*.d.ts", "vue.config.js"], ignorePatterns: ["src/typings/*.d.ts", "vue.config.js"],
overrides: [
{
files: [
"**/__tests__/*.{j,t}s?(x)",
"**/tests/unit/**/*.spec.{j,t}s?(x)",
],
env: {
mocha: true,
},
},
{
files: [
"**/__tests__/*.{j,t}s?(x)",
"**/tests/unit/**/*.spec.{j,t}s?(x)",
],
env: {
jest: true,
},
},
],
}; };

View File

@ -407,6 +407,7 @@ export default class EditorComponent extends Vue {
new Image(), new Image(),
new MaxSize({ maxSize: this.maxSize }), new MaxSize({ maxSize: this.maxSize }),
], ],
// eslint-disable-next-line @typescript-eslint/ban-types
onUpdate: ({ getHTML }: { getHTML: Function }) => { onUpdate: ({ getHTML }: { getHTML: Function }) => {
this.$emit("input", getHTML()); this.$emit("input", getHTML());
}, },
@ -422,6 +423,7 @@ export default class EditorComponent extends Vue {
} }
} }
// eslint-disable-next-line @typescript-eslint/ban-types
showLinkMenu(command: Function, active: boolean): Function | undefined { showLinkMenu(command: Function, active: boolean): Function | undefined {
if (!this.editor) return undefined; if (!this.editor) return undefined;
if (active) return command({ href: null }); if (active) return command({ href: null });
@ -536,6 +538,7 @@ export default class EditorComponent extends Vue {
* Show a file prompt, upload picture and insert it into editor * Show a file prompt, upload picture and insert it into editor
* @param command * @param command
*/ */
// eslint-disable-next-line @typescript-eslint/ban-types
async showImagePrompt(command: Function): Promise<void> { async showImagePrompt(command: Function): Promise<void> {
const image = await listenFileUpload(); const image = await listenFileUpload();
try { try {

View File

@ -13,6 +13,7 @@ import { EditorView } from "prosemirror-view";
/* eslint-disable class-methods-use-this */ /* eslint-disable class-methods-use-this */
export default class Image extends Node { export default class Image extends Node {
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
get name() { get name() {
return "image"; return "image";
} }
@ -62,6 +63,7 @@ export default class Image extends Node {
}; };
} }
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
get plugins() { get plugins() {
return [ return [
new Plugin({ new Plugin({

View File

@ -4,17 +4,20 @@ import { Extension, Plugin } from "tiptap";
export default class MaxSize extends Extension { export default class MaxSize extends Extension {
// eslint-disable-next-line class-methods-use-this // eslint-disable-next-line class-methods-use-this
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
get name() { get name() {
return "maxSize"; return "maxSize";
} }
// eslint-disable-next-line class-methods-use-this // eslint-disable-next-line class-methods-use-this
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
get defaultOptions() { get defaultOptions() {
return { return {
maxSize: null, maxSize: null,
}; };
} }
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
get plugins() { get plugins() {
return [ return [
new Plugin({ new Plugin({

View File

@ -86,6 +86,7 @@ export default class AddressAutoComplete extends Vue {
private gettingLocation = false; private gettingLocation = false;
// eslint-disable-next-line no-undef
private location!: GeolocationPosition; private location!: GeolocationPosition;
private gettingLocationError: any; private gettingLocationError: any;
@ -219,6 +220,7 @@ export default class AddressAutoComplete extends Vue {
this.gettingLocation = false; this.gettingLocation = false;
} }
// eslint-disable-next-line no-undef
static async getLocation(): Promise<GeolocationPosition> { static async getLocation(): Promise<GeolocationPosition> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (!("geolocation" in navigator)) { if (!("geolocation" in navigator)) {

View File

@ -137,6 +137,7 @@ export default class FullAddressAutoComplete extends Vue {
private gettingLocation = false; private gettingLocation = false;
// eslint-disable-next-line no-undef
private location!: GeolocationPosition; private location!: GeolocationPosition;
private gettingLocationError: any; private gettingLocationError: any;
@ -277,6 +278,7 @@ export default class FullAddressAutoComplete extends Vue {
return window.isSecureContext; return window.isSecureContext;
} }
// eslint-disable-next-line no-undef
static async getLocation(): Promise<GeolocationPosition> { static async getLocation(): Promise<GeolocationPosition> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (!("geolocation" in navigator)) { if (!("geolocation" in navigator)) {

View File

@ -6,6 +6,7 @@ import {
} from "./datetime"; } from "./datetime";
export default { export default {
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
install(vue: any): void { install(vue: any): void {
vue.filter("formatDateString", formatDateString); vue.filter("formatDateString", formatDateString);
vue.filter("formatTimeString", formatTimeString); vue.filter("formatTimeString", formatTimeString);

View File

@ -1,5 +1,4 @@
import gql from "graphql-tag"; import gql from "graphql-tag";
import { GROUP_FIELDS_FRAGMENTS } from "./group";
const participantQuery = ` const participantQuery = `
role, role,

View File

@ -3,7 +3,6 @@ import { UserRouteName } from "@/router/user";
import { AUTH_ACCESS_TOKEN } from "@/constants"; import { AUTH_ACCESS_TOKEN } from "@/constants";
import { LoginErrorCode } from "@/types/enums"; import { LoginErrorCode } from "@/types/enums";
// eslint-disable-next-line import/prefer-default-export
export const authGuardIfNeeded: NavigationGuard = async (to, from, next) => { export const authGuardIfNeeded: NavigationGuard = async (to, from, next) => {
if (to.meta.requiredAuth !== true) return next(); if (to.meta.requiredAuth !== true) return next();

View File

@ -3,7 +3,6 @@ import { NavigationGuard } from "vue-router";
import { CONFIG } from "../../graphql/config"; import { CONFIG } from "../../graphql/config";
import apolloProvider from "../../vue-apollo"; import apolloProvider from "../../vue-apollo";
// eslint-disable-next-line import/prefer-default-export
export const beforeRegisterGuard: NavigationGuard = async (to, from, next) => { export const beforeRegisterGuard: NavigationGuard = async (to, from, next) => {
const { data } = await apolloProvider.defaultClient.query({ const { data } = await apolloProvider.defaultClient.query({
query: CONFIG, query: CONFIG,

View File

@ -0,0 +1,8 @@
module.exports = {
env: {
jest: true,
"cypress/globals": true,
},
extends: ["plugin:cypress/recommended"],
plugins: ["cypress"],
};

View File

@ -1,4 +1,5 @@
export default class ElementCount { export default class ElementCount {
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
constructor(selector, count) { constructor(selector, count) {
this.message = `Testing if element <${selector}> has count: ${count}`; this.message = `Testing if element <${selector}> has count: ${count}`;
this.expected = count; this.expected = count;

View File

@ -1,4 +1,5 @@
// Set the en-US language just in case // Set the en-US language just in case
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
export default function (window) { export default function (window) {
Object.defineProperty(window.navigator, "language", { value: "en-US" }); Object.defineProperty(window.navigator, "language", { value: "en-US" });
} }

View File

@ -8,7 +8,6 @@ describe("Events", () => {
cy.loginUser(); cy.loginUser();
cy.visit("/events/me"); cy.visit("/events/me");
cy.wait(1000);
cy.contains(".message.is-danger", "No events found"); cy.contains(".message.is-danger", "No events found");
cy.contains(".navbar-item", "Create").click(); cy.contains(".navbar-item", "Create").click();
@ -29,7 +28,6 @@ describe("Events", () => {
.last() .last()
.find(".select select") .find(".select select")
.select("2021"); .select("2021");
cy.wait(1000);
cy.get(".field").eq(3).contains(".datepicker-cell", "15").click(); cy.get(".field").eq(3).contains(".datepicker-cell", "15").click();
cy.contains(".button.is-primary", "Create my event").click(); cy.contains(".button.is-primary", "Create my event").click();

View File

@ -17,7 +17,6 @@ describe("Login", () => {
cy.url().should("include", "/password-reset/send"); cy.url().should("include", "/password-reset/send");
cy.go("back"); cy.go("back");
cy.wait(1000);
cy.get("form").contains(".control a.button", "Register").click(); cy.get("form").contains(".control a.button", "Register").click();
cy.url().should("include", "/register/user"); cy.url().should("include", "/register/user");
@ -55,7 +54,6 @@ describe("Login", () => {
cy.get("input[type=email]").type("user@email.com"); cy.get("input[type=email]").type("user@email.com");
cy.get("input[type=password]").type("some password"); cy.get("input[type=password]").type("some password");
cy.get("form").submit(); cy.get("form").submit();
cy.wait(1000);
cy.get(".navbar-end .navbar-link span.icon i").should( cy.get(".navbar-end .navbar-link span.icon i").should(
"have.class", "have.class",
"mdi-account-circle" "mdi-account-circle"
@ -113,7 +111,6 @@ describe("Login", () => {
cy.get("form .field input").eq(1).type("Not"); cy.get("form .field input").eq(1).type("Not");
cy.get("form .field textarea").clear().type("This will now work"); cy.get("form .field textarea").clear().type("This will now work");
cy.get("form").submit(); cy.get("form").submit();
cy.wait(1000);
cy.get(".navbar-link span.icon i").should( cy.get(".navbar-link span.icon i").should(
"have.class", "have.class",

View File

@ -33,7 +33,6 @@ describe("Registration", () => {
cy.get("form").contains("button.button.is-primary", "Register").click(); cy.get("form").contains("button.button.is-primary", "Register").click();
cy.url().should("include", "/register/profile"); cy.url().should("include", "/register/profile");
cy.wait(1000);
cy.get("form > .field") cy.get("form > .field")
.eq(1) .eq(1)
.contains("label", "Username") .contains("label", "Username")

View File

@ -138,7 +138,7 @@ Cypress.Commands.add("waitForFetches", () => {
return; return;
} }
cy.wait(100).then(() => cy.waitForFetches()); cy.waitForFetches();
}); });
Cypress.Commands.add("iframeLoaded", { prevSubject: "element" }, ($iframe) => { Cypress.Commands.add("iframeLoaded", { prevSubject: "element" }, ($iframe) => {

View File

@ -6,10 +6,4 @@ module.exports = {
expect: true, expect: true,
sinon: true, sinon: true,
}, },
rules: {
"import/no-extraneous-dependencies": [
"error",
{ devDependencies: ["**/*.test.js", "**/*.spec.js"] },
],
},
}; };

View File

@ -1,3 +1,4 @@
// eslint-disable-next-line @typescript-eslint/no-var-requires
const vueJest = require("vue-jest/lib/template-compiler"); const vueJest = require("vue-jest/lib/template-compiler");
module.exports = { module.exports = {

View File

@ -2,11 +2,7 @@ const path = require("path");
const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin");
module.exports = { module.exports = {
devServer: {
proxy: "http://mobilizon1.com",
},
runtimeCompiler: true, runtimeCompiler: true,
lintOnSave: process.env.NODE_ENV !== "production",
filenameHashing: true, filenameHashing: true,
productionSourceMap: false, productionSourceMap: false,
outputDir: path.resolve(__dirname, "../priv/static"), outputDir: path.resolve(__dirname, "../priv/static"),