From d6772bb3db967266879163de513c707b6a7d36b6 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Thu, 7 May 2020 17:57:23 +0200 Subject: [PATCH] Update linter rules and fix them --- client/.eslintrc.js | 44 +- client/src/App.vue | 17 +- client/src/components/AddContentButton.vue | 6 +- client/src/components/AddContentElement.vue | 6 +- client/src/components/AddWidget.vue | 18 +- .../components/AssignmentWithSubmissions.vue | 70 +-- client/src/components/Chapter.vue | 39 +- client/src/components/Checkbox.vue | 13 +- client/src/components/ColorChooser.vue | 27 +- client/src/components/ContentBlock.vue | 68 ++- client/src/components/FullscreenImage.vue | 9 +- .../src/components/FullscreenInfographic.vue | 4 +- client/src/components/FullscreenVideo.vue | 20 +- client/src/components/HeaderBar.vue | 20 +- client/src/components/HelpfulTooltip.vue | 4 +- client/src/components/LogoutWidget.vue | 5 +- client/src/components/MobileHeader.vue | 10 +- client/src/components/Modal.vue | 19 +- client/src/components/ModalInput.vue | 15 +- client/src/components/MoreOptionsWidget.vue | 15 +- client/src/components/NewsTeaser.vue | 12 +- client/src/components/Radiobutton.vue | 13 +- client/src/components/SectionBlock.vue | 29 +- client/src/components/SimpleFileUpload.vue | 32 +- client/src/components/StudentSubmission.vue | 36 +- .../components/StudentSubmissionDocument.vue | 10 +- client/src/components/UserMetaWidget.vue | 14 +- client/src/components/UserWidget.vue | 13 +- client/src/components/WidgetFooter.vue | 2 +- client/src/components/WidgetPopover.vue | 7 +- .../book-navigation/BookNavigation.vue | 9 +- .../book-navigation/BookTopicNavigation.vue | 19 +- .../book-navigation/ContentNavigation.vue | 30 +- .../book-navigation/MobileNavigation.vue | 22 +- .../book-navigation/MobileSubnavigation.vue | 6 +- .../book-navigation/SubNavigationItem.vue | 21 +- .../content-block-form/ContentsForm.vue | 97 ++-- .../EditContentBlockWizard.vue | 22 +- .../NewContentBlockWizard.vue | 28 +- .../content-blocks/ContentComponent.vue | 16 +- .../content-blocks/ContentListBlock.vue | 29 +- .../content-blocks/DocumentBlock.vue | 14 +- .../content-blocks/GeniallyBlock.vue | 21 +- .../components/content-blocks/ImageBlock.vue | 6 +- .../content-blocks/ImageUrlBlock.vue | 6 +- .../content-blocks/InfogramBlock.vue | 53 +- .../components/content-blocks/Instruction.vue | 10 +- .../content-blocks/InstrumentWidget.vue | 10 +- .../components/content-blocks/LinkBlock.vue | 11 +- .../content-blocks/ModuleRoomSlug.vue | 4 +- .../content-blocks/SectionTitleBlock.vue | 4 +- .../components/content-blocks/Solution.vue | 28 +- .../content-blocks/SubtitleBlock.vue | 4 +- .../components/content-blocks/SurveyBlock.vue | 9 +- client/src/components/content-blocks/Task.vue | 4 +- .../components/content-blocks/TextBlock.vue | 4 +- .../content-blocks/ThinglinkBlock.vue | 25 +- .../components/content-blocks/VideoBlock.vue | 12 +- .../content-blocks/assignment/Assignment.vue | 73 +-- .../assignment/FinalSubmission.vue | 12 +- .../content-blocks/assignment/SpellCheck.vue | 6 +- .../assignment/SubmissionForm.vue | 33 +- .../assignment/SubmissionInput.vue | 30 +- .../content-forms/AssignmentForm.vue | 22 +- .../ContentBlockElementChooserWidget.vue | 61 ++- .../components/content-forms/DocumentForm.vue | 33 +- .../components/content-forms/ImageForm.vue | 21 +- .../src/components/content-forms/LinkForm.vue | 12 +- .../src/components/content-forms/TextForm.vue | 11 +- .../content-forms/TextFormWithHelpText.vue | 8 +- .../components/content-forms/VideoForm.vue | 31 +- client/src/components/icons/AddIcon.vue | 5 +- client/src/components/icons/AddNoteIcon.vue | 5 +- client/src/components/icons/AddPointer.vue | 5 +- client/src/components/icons/BookmarkIcon.vue | 17 +- client/src/components/icons/BulbIcon.vue | 12 +- client/src/components/icons/Cards.vue | 10 +- client/src/components/icons/ChevronDown.vue | 4 +- client/src/components/icons/ChevronRight.vue | 5 +- client/src/components/icons/ChevronUp.vue | 4 +- client/src/components/icons/CircleIcon.vue | 9 +- client/src/components/icons/ClosedEyeIcon.vue | 5 +- client/src/components/icons/Cross.vue | 5 +- client/src/components/icons/DefaultAvatar.vue | 54 +- client/src/components/icons/DocumentIcon.vue | 9 +- client/src/components/icons/EhbLogo.vue | 97 +++- client/src/components/icons/Ellipses.vue | 19 +- client/src/components/icons/EyeIcon.vue | 5 +- client/src/components/icons/Group.vue | 5 +- client/src/components/icons/Hamburger.vue | 7 +- client/src/components/icons/HepLogo.vue | 108 ++-- client/src/components/icons/ImageIcon.vue | 5 +- client/src/components/icons/InfoIcon.vue | 10 +- client/src/components/icons/LinkIcon.vue | 5 +- client/src/components/icons/LoadingIcon.vue | 4 +- client/src/components/icons/Logo.vue | 66 ++- client/src/components/icons/NoteIcon.vue | 5 +- client/src/components/icons/PenIcon.vue | 4 +- client/src/components/icons/Play.vue | 8 +- .../src/components/icons/SpeechBubbleIcon.vue | 5 +- client/src/components/icons/TextIcon.vue | 5 +- client/src/components/icons/Tick.vue | 5 +- .../src/components/icons/TickCircleIcon.vue | 4 +- client/src/components/icons/TrashIcon.vue | 4 +- client/src/components/icons/UserIcon.vue | 5 +- client/src/components/icons/VideoIcon.vue | 5 +- .../illustrations/ContentsIllustration.vue | 194 ++++--- .../illustrations/PortfolioIllustration.vue | 212 +++++--- .../illustrations/RoomsIllustration.vue | 511 +++++++++++------- client/src/components/inputs/BaseInput.vue | 22 +- .../instruments/InstrumentFilter.vue | 12 +- client/src/components/modules/Module.vue | 61 ++- .../components/modules/ModuleNavigation.vue | 83 +-- .../src/components/modules/ModuleTeaser.vue | 16 +- .../src/components/notes/BookmarkActions.vue | 23 +- .../src/components/notes/EditNoteWizard.vue | 5 +- client/src/components/notes/NewNoteWizard.vue | 5 +- client/src/components/notes/NoteForm.vue | 25 +- .../objective-groups/NewObjectiveWizard.vue | 27 +- .../components/objective-groups/Objective.vue | 32 +- .../objective-groups/ObjectiveForm.vue | 17 +- .../objective-groups/ObjectiveGroup.vue | 16 +- .../objective-groups/ObjectiveGroups.vue | 5 +- client/src/components/page-form/PageForm.vue | 10 +- .../components/page-form/PageFormInput.vue | 29 +- .../src/components/portfolio/AddProject.vue | 4 +- .../components/portfolio/AddProjectEntry.vue | 4 +- .../src/components/portfolio/EditProject.vue | 2 +- .../portfolio/EditProjectEntryWizard.vue | 6 +- .../portfolio/NewProjectEntryWizard.vue | 28 +- .../src/components/portfolio/OwnerWidget.vue | 6 +- .../components/portfolio/ProjectActions.vue | 22 +- .../src/components/portfolio/ProjectEntry.vue | 32 +- .../components/portfolio/ProjectEntryForm.vue | 47 +- .../src/components/portfolio/ProjectForm.vue | 53 +- .../components/portfolio/ProjectWidget.vue | 27 +- .../src/components/profile/ActivityEntry.vue | 10 +- .../src/components/profile/ActivityFilter.vue | 13 +- client/src/components/profile/Avatar.vue | 25 +- .../components/profile/AvatarUploadForm.vue | 15 +- client/src/components/profile/ClassList.vue | 82 +-- .../components/profile/ContentBookmark.vue | 12 +- .../components/profile/DeactivatePerson.vue | 20 +- .../components/profile/InstrumentActivity.vue | 32 +- .../src/components/profile/ModuleActivity.vue | 67 ++- .../src/components/profile/PasswordChange.vue | 14 +- .../components/profile/PasswordChangeForm.vue | 91 ++-- client/src/components/profile/Profile.vue | 16 +- .../src/components/profile/ProfileSidebar.vue | 42 +- .../src/components/profile/ProfileWidget.vue | 6 +- client/src/components/rooms/AddRoom.vue | 2 +- .../components/rooms/AddRoomEntryButton.vue | 7 +- client/src/components/rooms/EditRoom.vue | 2 +- .../src/components/rooms/EntryCountWidget.vue | 4 +- client/src/components/rooms/RoomActions.vue | 14 +- client/src/components/rooms/RoomEntry.vue | 62 ++- client/src/components/rooms/RoomForm.vue | 62 ++- .../src/components/rooms/RoomGroupWidget.vue | 4 +- client/src/components/rooms/RoomWidget.vue | 17 +- .../room-entries/EditRoomEntryWizard.vue | 6 +- .../rooms/room-entries/NewRoomEntryWizard.vue | 6 +- .../school-class/ClassSelectionWidget.vue | 80 +-- .../components/school-class/CurrentClass.vue | 4 +- .../components/school-class/EditClassName.vue | 7 +- .../school-class/EditClassNameWizard.vue | 46 +- .../components/toggle-menu/ToggleEditing.vue | 6 +- .../toggle-menu/ToggleSolutionsForModule.vue | 19 +- client/src/components/videos/SrfEmbed.vue | 8 +- client/src/components/videos/VimeoEmbed.vue | 9 +- client/src/components/videos/YoutubeEmbed.vue | 11 +- .../visibility/VisibilityAction.vue | 31 +- client/src/layouts/BlankLayout.vue | 4 +- client/src/layouts/DefaultFooter.vue | 14 +- client/src/layouts/DefaultLayout.vue | 15 +- client/src/layouts/FullScreenLayout.vue | 12 +- client/src/layouts/PublicLayout.vue | 6 +- client/src/layouts/SimpleLayout.vue | 10 +- client/src/pages/activity.vue | 11 +- client/src/pages/article.vue | 14 +- client/src/pages/book.vue | 2 +- client/src/pages/createClass.vue | 22 +- client/src/pages/editProject.vue | 4 +- client/src/pages/editRoom.vue | 4 +- client/src/pages/instrument.vue | 20 +- client/src/pages/instrumentOverview.vue | 28 +- client/src/pages/joinClass.vue | 27 +- client/src/pages/login.vue | 249 ++++----- client/src/pages/module-base.vue | 4 +- client/src/pages/module.vue | 69 +-- client/src/pages/moduleRoom.vue | 17 +- client/src/pages/myClass.vue | 15 +- client/src/pages/newProject.vue | 4 +- client/src/pages/newRoom.vue | 2 +- client/src/pages/oldClasses.vue | 23 +- client/src/pages/portfolio.vue | 8 +- client/src/pages/profile.vue | 2 +- client/src/pages/project.vue | 57 +- client/src/pages/room.vue | 19 +- client/src/pages/rooms.vue | 34 +- client/src/pages/showCode.vue | 4 +- client/src/pages/start.vue | 46 +- client/src/pages/studentSubmission.vue | 87 +-- client/src/pages/styleguide.vue | 2 +- client/src/pages/submissions.vue | 21 +- client/src/pages/survey.vue | 12 +- client/src/pages/topic.vue | 48 +- 206 files changed, 3279 insertions(+), 2029 deletions(-) diff --git a/client/.eslintrc.js b/client/.eslintrc.js index 0c86ffaa..92ad96bd 100644 --- a/client/.eslintrc.js +++ b/client/.eslintrc.js @@ -11,7 +11,8 @@ module.exports = { extends: [ // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules. - 'plugin:vue/essential', + 'plugin:vue/strongly-recommended', + // 'plugin:vue/recommended', // https://github.com/standard/standard/blob/master/docs/RULES-en.md 'standard' ], @@ -29,5 +30,46 @@ module.exports = { 'semi': 0, 'space-before-function-paren': 'off', 'comma-dangle': 'off', + + // vue rules + 'vue/require-prop-types': 'off', //todo: should we do this? + 'vue/require-default-prop': 'off', //todo: should we do this? + 'vue/attributes-order': ['error', { + 'order': [ + 'OTHER_ATTR', + 'DEFINITION', + 'LIST_RENDERING', + 'CONDITIONALS', + 'RENDER_MODIFIERS', + 'GLOBAL', + 'UNIQUE', + 'TWO_WAY_BINDING', + 'OTHER_DIRECTIVES', + 'EVENTS', + 'CONTENT' + ] + }], + 'vue/order-in-components': ['error', { + 'order': [ + 'el', + 'name', + 'parent', + 'functional', + ['delimiters', 'comments'], + ['props', 'propsData'], + 'mixins', + ['components', 'directives', 'filters'], + 'data', + 'extends', + 'inheritAttrs', + 'model', + 'computed', + 'watch', + 'LIFECYCLE_HOOKS', + 'methods', + ['template', 'render'], + 'renderError' + ] + }] } }; diff --git a/client/src/App.vue b/client/src/App.vue index b1acde34..b6fe73f8 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -1,9 +1,16 @@ diff --git a/client/src/components/AddContentButton.vue b/client/src/components/AddContentButton.vue index b93460f2..df53dc5a 100644 --- a/client/src/components/AddContentButton.vue +++ b/client/src/components/AddContentButton.vue @@ -1,7 +1,9 @@ diff --git a/client/src/components/AddContentElement.vue b/client/src/components/AddContentElement.vue index a1266a67..2f028056 100644 --- a/client/src/components/AddContentElement.vue +++ b/client/src/components/AddContentElement.vue @@ -1,6 +1,8 @@ diff --git a/client/src/components/AddWidget.vue b/client/src/components/AddWidget.vue index c84a70b9..2c915aa9 100644 --- a/client/src/components/AddWidget.vue +++ b/client/src/components/AddWidget.vue @@ -1,7 +1,11 @@ @@ -24,6 +28,10 @@ } }, + components: { + AddIcon + }, + computed: { component() { // only use the router link if the route prop is provided, otherwise render a normal anchor tag @@ -36,10 +44,6 @@ } : {} } }, - - components: { - AddIcon - } } diff --git a/client/src/components/AssignmentWithSubmissions.vue b/client/src/components/AssignmentWithSubmissions.vue index f058086c..fbdaca90 100644 --- a/client/src/components/AssignmentWithSubmissions.vue +++ b/client/src/components/AssignmentWithSubmissions.vue @@ -1,33 +1,41 @@