diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js
index ddb7572817..358fe5ae78 100644
--- a/frontend/.eslintrc.js
+++ b/frontend/.eslintrc.js
@@ -73,9 +73,54 @@ module.exports = {
"@typescript-eslint/no-use-before-define": "off",
"@typescript-eslint/no-unused-vars": ["error", { argsIgnorePattern: "^_" }],
"@typescript-eslint/no-loss-of-precision": "off", // TODO: Remove this line after upgrading to eslint 7.1 or greater
+ "@typescript-eslint/explicit-function-return-type": ["error"],
// Import plugin config (used to intelligently validate module import statements)
"import/prefer-default-export": "off",
+ "import/no-relative-packages": "error",
+ "import/order": [
+ "error",
+ {
+ alphabetize: {
+ order: "asc",
+ caseInsensitive: true,
+ },
+ warnOnUnassignedImports: true,
+ "newlines-between": "always-and-inside-groups",
+ pathGroups: [
+ {
+ pattern: "**/*.vue",
+ group: "unknown",
+ position: "after",
+ },
+ {
+ pattern: "**/assets/12px-solid/*.svg",
+ group: "unknown",
+ position: "after",
+ },
+ {
+ pattern: "**/assets/16px-solid/*.svg",
+ group: "unknown",
+ position: "after",
+ },
+ {
+ pattern: "**/assets/16px-two-tone/*.svg",
+ group: "unknown",
+ position: "after",
+ },
+ {
+ pattern: "**/assets/24px-full-color/*.svg",
+ group: "unknown",
+ position: "after",
+ },
+ {
+ pattern: "**/assets/24px-two-tone/*.svg",
+ group: "unknown",
+ position: "after",
+ },
+ ],
+ },
+ ],
// Prettier plugin config (used to enforce HTML, CSS, and JS formatting styles as an ESLint plugin, where fixes are reported to ESLint to be applied when linting)
"prettier-vue/prettier": [
@@ -90,4 +135,12 @@ module.exports = {
// Vue plugin config (used to validate Vue single-file components)
"vue/multi-word-component-names": "off",
},
+ overrides: [
+ {
+ files: ["*.js"],
+ rules: {
+ "@typescript-eslint/explicit-function-return-type": ["off"],
+ },
+ },
+ ],
};
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index 9ee7b9df98..77d472ad97 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -221,16 +221,16 @@ img {
diff --git a/frontend/src/components/panels/Properties.vue b/frontend/src/components/panels/Properties.vue
index fdd88d3382..0763d62cd8 100644
--- a/frontend/src/components/panels/Properties.vue
+++ b/frontend/src/components/panels/Properties.vue
@@ -7,8 +7,5 @@
diff --git a/frontend/src/components/widgets/buttons/IconButton.vue b/frontend/src/components/widgets/buttons/IconButton.vue
index d5f174f743..4a0eec3f74 100644
--- a/frontend/src/components/widgets/buttons/IconButton.vue
+++ b/frontend/src/components/widgets/buttons/IconButton.vue
@@ -1,5 +1,5 @@
-
@@ -57,16 +57,16 @@
diff --git a/frontend/src/components/widgets/buttons/TextButton.vue b/frontend/src/components/widgets/buttons/TextButton.vue
index 7da0e453a9..257e4ef02a 100644
--- a/frontend/src/components/widgets/buttons/TextButton.vue
+++ b/frontend/src/components/widgets/buttons/TextButton.vue
@@ -1,5 +1,5 @@
-
+ action(e)">
{{ label }}
@@ -49,18 +49,18 @@
diff --git a/frontend/src/components/widgets/floating-menus/FloatingMenu.vue b/frontend/src/components/widgets/floating-menus/FloatingMenu.vue
index 5d1fe02e5c..67166d49c6 100644
--- a/frontend/src/components/widgets/floating-menus/FloatingMenu.vue
+++ b/frontend/src/components/widgets/floating-menus/FloatingMenu.vue
@@ -1,6 +1,6 @@
-