Fix lint issues
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
594d5a91ec
commit
8dc5b8a4b0
@ -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,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
};
|
||||||
|
@ -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 {
|
||||||
|
@ -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({
|
||||||
|
@ -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({
|
||||||
|
@ -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)) {
|
||||||
|
@ -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)) {
|
||||||
|
@ -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);
|
||||||
|
@ -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,
|
||||||
|
@ -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();
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
8
js/tests/e2e/.eslintrc.js
Normal file
8
js/tests/e2e/.eslintrc.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
module.exports = {
|
||||||
|
env: {
|
||||||
|
jest: true,
|
||||||
|
"cypress/globals": true,
|
||||||
|
},
|
||||||
|
extends: ["plugin:cypress/recommended"],
|
||||||
|
plugins: ["cypress"],
|
||||||
|
};
|
@ -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;
|
||||||
|
@ -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" });
|
||||||
}
|
}
|
||||||
|
@ -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();
|
||||||
|
@ -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",
|
||||||
|
@ -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")
|
||||||
|
@ -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) => {
|
||||||
|
@ -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"] },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
@ -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 = {
|
||||||
|
@ -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"),
|
||||||
|
Loading…
Reference in New Issue
Block a user