diff options
31 files changed, 122 insertions, 279 deletions
diff --git a/.eslintignore b/.eslintignore index 6dddc5380b8..f8d8b5a2bc4 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,4 +4,5 @@ node_modules/ **/vendor/ **/l10n/ **/js/* -*.config.js
\ No newline at end of file +*.config.js +tests/lib/ diff --git a/apps/comments/src/comments.js b/apps/comments/src/comments.js index 3d7f52f4e74..75bb97138c3 100644 --- a/apps/comments/src/comments.js +++ b/apps/comments/src/comments.js @@ -1,5 +1,4 @@ import './app' -import './templates' import './filesplugin' import './activitytabviewplugin' diff --git a/apps/comments/src/templates.js b/apps/comments/src/templates.js deleted file mode 100644 index 26ca658c772..00000000000 --- a/apps/comments/src/templates.js +++ /dev/null @@ -1,123 +0,0 @@ -(function() { - var template = Handlebars.template, templates = OCA.Comments.Templates = OCA.Comments.Templates || {}; -templates['comment'] = template({"1":function(container,depth0,helpers,partials,data) { - return " unread"; -},"3":function(container,depth0,helpers,partials,data) { - return " collapsed"; -},"5":function(container,depth0,helpers,partials,data) { - return " currentUser"; -},"7":function(container,depth0,helpers,partials,data) { - var helper; - - return "data-username=\"" - + container.escapeExpression(((helper = (helper = helpers.actorId || (depth0 != null ? depth0.actorId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"actorId","hash":{},"data":data}) : helper))) - + "\""; -},"9":function(container,depth0,helpers,partials,data) { - return " <a href=\"#\" class=\"action more icon icon-more has-tooltip\"></a>\n <div class=\"deleteLoading icon-loading-small hidden\"></div>\n"; -},"11":function(container,depth0,helpers,partials,data) { - return " <div class=\"message-overlay\"></div>\n"; -},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; - - return "<li class=\"comment" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUnread : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLong : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "\" data-id=\"" - + alias4(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"id","hash":{},"data":data}) : helper))) - + "\">\n <div class=\"authorRow\">\n <div class=\"avatar" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "\" " - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.actorId : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "> </div>\n <div class=\"author" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "\">" - + alias4(((helper = (helper = helpers.actorDisplayName || (depth0 != null ? depth0.actorDisplayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actorDisplayName","hash":{},"data":data}) : helper))) - + "</div>\n" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + " <div class=\"date has-tooltip live-relative-timestamp\" data-timestamp=\"" - + alias4(((helper = (helper = helpers.timestamp || (depth0 != null ? depth0.timestamp : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"timestamp","hash":{},"data":data}) : helper))) - + "\" title=\"" - + alias4(((helper = (helper = helpers.altDate || (depth0 != null ? depth0.altDate : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"altDate","hash":{},"data":data}) : helper))) - + "\">" - + alias4(((helper = (helper = helpers.date || (depth0 != null ? depth0.date : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"date","hash":{},"data":data}) : helper))) - + "</div>\n </div>\n <div class=\"message\">" - + ((stack1 = ((helper = (helper = helpers.formattedMessage || (depth0 != null ? depth0.formattedMessage : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"formattedMessage","hash":{},"data":data}) : helper))) != null ? stack1 : "") - + "</div>\n" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLong : depth0),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "</li>\n"; -},"useData":true}); -templates['commentsmodifymenu'] = template({"1":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; - - return " <li>\n <a href=\"#\" class=\"menuitem action " - + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper))) - + " permanent\" data-action=\"" - + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper))) - + "\">\n" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "") - + " <span>" - + alias4(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"displayName","hash":{},"data":data}) : helper))) - + "</span>\n </a>\n </li>\n"; -},"2":function(container,depth0,helpers,partials,data) { - var helper; - - return " <span class=\"icon " - + container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data}) : helper))) - + "\"></span>\n"; -},"4":function(container,depth0,helpers,partials,data) { - return " <span class=\"no-icon\"></span>\n"; -},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1; - - return "<ul>\n" - + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + "</ul>\n"; -},"useData":true}); -templates['edit_comment'] = template({"1":function(container,depth0,helpers,partials,data) { - var helper; - - return " <div class=\"action-container\">\n <a href=\"#\" class=\"action cancel icon icon-close has-tooltip\" title=\"" - + container.escapeExpression(((helper = (helper = helpers.cancelText || (depth0 != null ? depth0.cancelText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"cancelText","hash":{},"data":data}) : helper))) - + "\"></a>\n </div>\n"; -},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; - - return "<" - + alias4(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"tag","hash":{},"data":data}) : helper))) - + " class=\"newCommentRow comment\" data-id=\"" - + alias4(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"id","hash":{},"data":data}) : helper))) - + "\">\n <div class=\"authorRow\">\n <div class=\"avatar currentUser\" data-username=\"" - + alias4(((helper = (helper = helpers.actorId || (depth0 != null ? depth0.actorId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actorId","hash":{},"data":data}) : helper))) - + "\"></div>\n <div class=\"author currentUser\">" - + alias4(((helper = (helper = helpers.actorDisplayName || (depth0 != null ? depth0.actorDisplayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actorDisplayName","hash":{},"data":data}) : helper))) - + "</div>\n" - + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isEditMode : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") - + " </div>\n <form class=\"newCommentForm\">\n <div contentEditable=\"true\" class=\"message\" data-placeholder=\"" - + alias4(((helper = (helper = helpers.newMessagePlaceholder || (depth0 != null ? depth0.newMessagePlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"newMessagePlaceholder","hash":{},"data":data}) : helper))) - + "\">" - + alias4(((helper = (helper = helpers.message || (depth0 != null ? depth0.message : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"message","hash":{},"data":data}) : helper))) - + "</div>\n <input class=\"submit icon-confirm has-tooltip\" type=\"submit\" value=\"\" title=\"" - + alias4(((helper = (helper = helpers.submitText || (depth0 != null ? depth0.submitText : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"submitText","hash":{},"data":data}) : helper))) - + "\"/>\n <div class=\"submitLoading icon-loading-small hidden\"></div>\n </form>\n</" - + alias4(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"tag","hash":{},"data":data}) : helper))) - + ">\n"; -},"useData":true}); -templates['filesplugin'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; - - return "<a class=\"action action-comment permanent\" title=\"" - + alias4(((helper = (helper = helpers.countMessage || (depth0 != null ? depth0.countMessage : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"countMessage","hash":{},"data":data}) : helper))) - + "\" href=\"#\">\n <img class=\"svg\" src=\"" - + alias4(((helper = (helper = helpers.iconUrl || (depth0 != null ? depth0.iconUrl : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"iconUrl","hash":{},"data":data}) : helper))) - + "\"/>\n</a>\n"; -},"useData":true}); -templates['view'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { - var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; - - return "<ul class=\"comments\">\n</ul>\n<div class=\"emptycontent hidden\"><div class=\"icon-comment\"></div>\n <p>" - + alias4(((helper = (helper = helpers.emptyResultLabel || (depth0 != null ? depth0.emptyResultLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"emptyResultLabel","hash":{},"data":data}) : helper))) - + "</p></div>\n<input type=\"button\" class=\"showMore hidden\" value=\"" - + alias4(((helper = (helper = helpers.moreLabel || (depth0 != null ? depth0.moreLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"moreLabel","hash":{},"data":data}) : helper))) - + "\" name=\"show-more\" id=\"show-more\" />\n<div class=\"loading hidden\" style=\"height: 50px\"></div>\n"; -},"useData":true}); -})();
\ No newline at end of file diff --git a/apps/dashboard/webpack.js b/apps/dashboard/webpack.js index ac455498920..f5ab624a9a9 100644 --- a/apps/dashboard/webpack.js +++ b/apps/dashboard/webpack.js @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, './js'), publicPath: '/js/', filename: 'dashboard.js', - jsonpFunction: 'webpackJsonpDashboard' - } + jsonpFunction: 'webpackJsonpDashboard', + }, } diff --git a/apps/files/src/templates.js b/apps/files/src/templates.js index be41e864854..ec219f2c91e 100644 --- a/apps/files/src/templates.js +++ b/apps/files/src/templates.js @@ -29,7 +29,6 @@ import axios from '@nextcloud/axios' import Vue from 'vue' import TemplatePickerView from './views/TemplatePicker' -import { getCurrentUser } from '@nextcloud/auth' import { showError } from '@nextcloud/dialogs' // Set up logger diff --git a/apps/files/webpack.js b/apps/files/webpack.js index 8dbbad5081f..e83f14ad4e7 100644 --- a/apps/files/webpack.js +++ b/apps/files/webpack.js @@ -1,4 +1,4 @@ -const path = require('path'); +const path = require('path') module.exports = { entry: { @@ -11,6 +11,6 @@ module.exports = { path: path.resolve(__dirname, './js/dist/'), publicPath: '/js/', filename: '[name].js', - chunkFilename: 'files.[id].js' - } + chunkFilename: 'files.[id].js', + }, } diff --git a/apps/files_external/tests/appSpec.js b/apps/files_external/tests/appSpec.js index a834d96e2c0..fa969f289f0 100644 --- a/apps/files_external/tests/appSpec.js +++ b/apps/files_external/tests/appSpec.js @@ -20,80 +20,80 @@ */ describe('OCA.Files_External.App tests', function() { - var App = OCA.Files_External.App; - var fileList; + const App = OCA.Files_External.App + let fileList beforeEach(function() { $('#testArea').append( - '<div id="app-navigation">' + - '<ul><li data-id="files"><a>Files</a></li>' + - '<li data-id="sharingin"><a></a></li>' + - '<li data-id="sharingout"><a></a></li>' + - '</ul></div>' + - '<div id="app-content">' + - '<div id="app-content-files" class="hidden">' + - '</div>' + - '<div id="app-content-extstoragemounts" class="hidden">' + - '</div>' + - '</div>' + - '</div>' - ); - fileList = App.initList($('#app-content-extstoragemounts')); - }); + '<div id="app-navigation">' + + '<ul><li data-id="files"><a>Files</a></li>' + + '<li data-id="sharingin"><a></a></li>' + + '<li data-id="sharingout"><a></a></li>' + + '</ul></div>' + + '<div id="app-content">' + + '<div id="app-content-files" class="hidden">' + + '</div>' + + '<div id="app-content-extstoragemounts" class="hidden">' + + '</div>' + + '</div>' + + '</div>' + ) + fileList = App.initList($('#app-content-extstoragemounts')) + }) afterEach(function() { - App.fileList = null; - fileList.destroy(); - fileList = null; - }); + App.fileList = null + fileList.destroy() + fileList = null + }) describe('initialization', function() { it('inits external mounts list on show', function() { - expect(App.fileList).toBeDefined(); - }); - }); + expect(App.fileList).toBeDefined() + }) + }) describe('file actions', function() { it('provides default file actions', function() { - var fileActions = fileList.fileActions; + const fileActions = fileList.fileActions - expect(fileActions.actions.all).toBeDefined(); - expect(fileActions.actions.all.Delete).toBeDefined(); - expect(fileActions.actions.all.Rename).toBeDefined(); - expect(fileActions.actions.all.Download).toBeDefined(); + expect(fileActions.actions.all).toBeDefined() + expect(fileActions.actions.all.Delete).toBeDefined() + expect(fileActions.actions.all.Rename).toBeDefined() + expect(fileActions.actions.all.Download).toBeDefined() - expect(fileActions.defaults.dir).toEqual('Open'); - }); + expect(fileActions.defaults.dir).toEqual('Open') + }) it('redirects to files app when opening a directory', function() { - var oldList = OCA.Files.App.fileList; + const oldList = OCA.Files.App.fileList // dummy new list to make sure it exists - OCA.Files.App.fileList = new OCA.Files.FileList($('<table><thead></thead><tbody></tbody></table>')); + OCA.Files.App.fileList = new OCA.Files.FileList($('<table><thead></thead><tbody></tbody></table>')) - var setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView'); + const setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView') // create dummy table so we can click the dom - var $table = '<table><thead></thead><tbody id="fileList"></tbody></table>'; - $('#app-content-extstoragemounts').append($table); + const $table = '<table><thead></thead><tbody id="fileList"></tbody></table>' + $('#app-content-extstoragemounts').append($table) - App._inFileList = null; - fileList = App.initList($('#app-content-extstoragemounts')); + App._inFileList = null + fileList = App.initList($('#app-content-extstoragemounts')) fileList.setFiles([{ name: 'testdir', type: 'dir', path: '/somewhere/inside/subdir', counterParts: ['user2'], - shareOwner: 'user2' - }]); + shareOwner: 'user2', + }]) - fileList.findFileEl('testdir').find('td a.name').click(); + fileList.findFileEl('testdir').find('td a.name').click() - expect(OCA.Files.App.fileList.getCurrentDirectory()).toEqual('/somewhere/inside/subdir/testdir'); + expect(OCA.Files.App.fileList.getCurrentDirectory()).toEqual('/somewhere/inside/subdir/testdir') - expect(setActiveViewStub.calledOnce).toEqual(true); - expect(setActiveViewStub.calledWith('files')).toEqual(true); + expect(setActiveViewStub.calledOnce).toEqual(true) + expect(setActiveViewStub.calledWith('files')).toEqual(true) - setActiveViewStub.restore(); + setActiveViewStub.restore() // restore old list - OCA.Files.App.fileList = oldList; - }); - }); -}); + OCA.Files.App.fileList = oldList + }) + }) +}) diff --git a/apps/files_sharing/src/collaborationresources.js b/apps/files_sharing/src/collaborationresources.js index 68cea9e59d3..b724c6f93a4 100644 --- a/apps/files_sharing/src/collaborationresources.js +++ b/apps/files_sharing/src/collaborationresources.js @@ -39,5 +39,5 @@ Vue.use(Vuex) export { Vue, - View + View, } diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue index 4baafcd96bc..d31c7ef6e3f 100644 --- a/apps/files_sharing/src/components/SharingEntry.vue +++ b/apps/files_sharing/src/components/SharingEntry.vue @@ -30,8 +30,8 @@ :menu-position="'left'" :url="share.shareWithAvatar" /> <component :is="share.shareWithLink ? 'a' : 'div'" - :href="share.shareWithLink" v-tooltip.auto="tooltip" + :href="share.shareWithLink" class="sharing-entry__desc"> <h5>{{ title }}<span v-if="!isUnique" class="sharing-entry__desc-unique"> ({{ share.shareWithDisplayNameUnique }})</span></h5> <p v-if="hasStatus"> diff --git a/apps/files_sharing/src/views/CollaborationView.vue b/apps/files_sharing/src/views/CollaborationView.vue index 5cfcd299cce..a3249f8b5c7 100644 --- a/apps/files_sharing/src/views/CollaborationView.vue +++ b/apps/files_sharing/src/views/CollaborationView.vue @@ -33,7 +33,7 @@ import { CollectionList } from 'nextcloud-vue-collections' export default { name: 'CollaborationView', components: { - CollectionList + CollectionList, }, computed: { fileId() { @@ -47,7 +47,7 @@ export default { return '' + this.$root.model.name } return '' - } - } + }, + }, } </script> diff --git a/apps/files_sharing/webpack.js b/apps/files_sharing/webpack.js index a05e1b9d15a..ed1d28fe4da 100644 --- a/apps/files_sharing/webpack.js +++ b/apps/files_sharing/webpack.js @@ -1,12 +1,12 @@ -const path = require('path'); +const path = require('path') module.exports = { entry: { - 'additionalScripts': path.join(__dirname, 'src', 'additionalScripts.js'), - 'collaboration': path.join(__dirname, 'src', 'collaborationresourceshandler.js'), - 'files_sharing_tab': path.join(__dirname, 'src', 'files_sharing_tab.js'), - 'files_sharing': path.join(__dirname, 'src', 'files_sharing.js'), - 'main': path.join(__dirname, 'src', 'index.js'), + additionalScripts: path.join(__dirname, 'src', 'additionalScripts.js'), + collaboration: path.join(__dirname, 'src', 'collaborationresourceshandler.js'), + files_sharing_tab: path.join(__dirname, 'src', 'files_sharing_tab.js'), + files_sharing: path.join(__dirname, 'src', 'files_sharing.js'), + main: path.join(__dirname, 'src', 'index.js'), 'personal-settings': path.join(__dirname, 'src', 'personal-settings.js'), }, output: { @@ -14,6 +14,6 @@ module.exports = { publicPath: '/js/', filename: '[name].js', chunkFilename: 'files_sharing.[id].js?v=[chunkhash]', - jsonpFunction: 'webpackJsonpFilesSharing' - } + jsonpFunction: 'webpackJsonpFilesSharing', + }, } diff --git a/apps/files_trashbin/webpack.js b/apps/files_trashbin/webpack.js index 1856c08ae80..efe4330ef04 100644 --- a/apps/files_trashbin/webpack.js +++ b/apps/files_trashbin/webpack.js @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, './js'), publicPath: '/js/', filename: 'files_trashbin.js', - jsonpFunction: 'webpackJsonpFilesTrashbin' - } + jsonpFunction: 'webpackJsonpFilesTrashbin', + }, } diff --git a/apps/files_versions/webpack.js b/apps/files_versions/webpack.js index 8d02db2d73e..89d545b7382 100644 --- a/apps/files_versions/webpack.js +++ b/apps/files_versions/webpack.js @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, 'js'), publicPath: '/js/', filename: 'files_versions.js', - jsonpFunction: 'webpackJsonpFilesVersions' - } + jsonpFunction: 'webpackJsonpFilesVersions', + }, } diff --git a/apps/oauth2/src/App.vue b/apps/oauth2/src/App.vue index 86243b63ee6..ce3c8d95099 100644 --- a/apps/oauth2/src/App.vue +++ b/apps/oauth2/src/App.vue @@ -28,9 +28,7 @@ <table v-if="clients.length > 0" class="grid"> <thead> <tr> - <th id="headerContent"> - - </th> + <th id="headerContent" /> <th id="headerRemove"> </th> diff --git a/apps/oauth2/webpack.js b/apps/oauth2/webpack.js index 23b9b76b31b..f8f65bc94d7 100644 --- a/apps/oauth2/webpack.js +++ b/apps/oauth2/webpack.js @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, './js'), publicPath: '/js', filename: 'oauth2.js', - jsonpFunction: 'webpackJsonpOauth' - } + jsonpFunction: 'webpackJsonpOauth', + }, } diff --git a/apps/settings/src/components/popoverMenu.vue b/apps/settings/src/components/popoverMenu.vue deleted file mode 100644 index dd9a29cc9fe..00000000000 --- a/apps/settings/src/components/popoverMenu.vue +++ /dev/null @@ -1,40 +0,0 @@ -<!-- - - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> - - - - @author John Molakvoæ <skjnldsv@protonmail.com> - - - - @license GNU AGPL version 3 or any later version - - - - This program is free software: you can redistribute it and/or modify - - it under the terms of the GNU Affero General Public License as - - published by the Free Software Foundation, either version 3 of the - - License, or (at your option) any later version. - - - - This program is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - - GNU Affero General Public License for more details. - - - - You should have received a copy of the GNU Affero General Public License - - along with this program. If not, see <http://www.gnu.org/licenses/>. - - - --> - -<template> - <ul> - <popover-item v-for="(item, key) in menu" :item="item" :key="key" /> - </ul> -</template> - - -<script> -import popoverItem from './popoverMenu/popoverItem'; - -export default { - name: 'popoverMenu', - props: ['menu'], - components: { - popoverItem - } -} -</script> diff --git a/apps/systemtags/webpack.js b/apps/systemtags/webpack.js index b22e0b7e52a..3d568bf7d8c 100644 --- a/apps/systemtags/webpack.js +++ b/apps/systemtags/webpack.js @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, './js'), publicPath: '/js/', filename: 'systemtags.js', - jsonpFunction: 'webpackJsonpSystemtags' - } + jsonpFunction: 'webpackJsonpSystemtags', + }, } diff --git a/apps/twofactor_backupcodes/webpack.js b/apps/twofactor_backupcodes/webpack.js index 88d04e34091..47e5bbe7fa0 100644 --- a/apps/twofactor_backupcodes/webpack.js +++ b/apps/twofactor_backupcodes/webpack.js @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, 'js'), publicPath: '/js', filename: 'settings.js', - jsonpFunction: 'webpackJsonpTwofactorBackupcodes' - } + jsonpFunction: 'webpackJsonpTwofactorBackupcodes', + }, } diff --git a/apps/updatenotification/src/components/UpdateNotification.vue b/apps/updatenotification/src/components/UpdateNotification.vue index 2c5082b171c..c3c04446c1f 100644 --- a/apps/updatenotification/src/components/UpdateNotification.vue +++ b/apps/updatenotification/src/components/UpdateNotification.vue @@ -93,7 +93,7 @@ <span id="channel_save_msg" class="msg" /><br> <p> <em>{{ t('updatenotification', 'You can always update to a newer version. But you can never downgrade to a more stable version.') }}</em><br> - <em v-html="noteDelayedStableString"></em> + <em v-html="noteDelayedStableString" /> </p> <p id="oca_updatenotification_groups"> diff --git a/apps/updatenotification/webpack.js b/apps/updatenotification/webpack.js index b90777108c7..2c38d6f616c 100644 --- a/apps/updatenotification/webpack.js +++ b/apps/updatenotification/webpack.js @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, './js'), publicPath: '/js/', filename: 'updatenotification.js', - jsonpFunction: 'webpackJsonpUpdatenotification' - } + jsonpFunction: 'webpackJsonpUpdatenotification', + }, } diff --git a/apps/weather_status/webpack.js b/apps/weather_status/webpack.js index 500f1d4616c..30c833bca7c 100644 --- a/apps/weather_status/webpack.js +++ b/apps/weather_status/webpack.js @@ -2,25 +2,25 @@ const path = require('path') module.exports = { entry: { - 'weather-status': path.join(__dirname, 'src', 'weather-status') + 'weather-status': path.join(__dirname, 'src', 'weather-status'), }, output: { path: path.resolve(__dirname, './js'), publicPath: '/js/', filename: '[name].js?v=[chunkhash]', - jsonpFunction: 'webpackJsonpWeatherStatus' + jsonpFunction: 'webpackJsonpWeatherStatus', }, optimization: { splitChunks: { automaticNameDelimiter: '-', - } + }, }, module: { - rules: [ - { - test: /\.(png|jpg|gif|svg|woff|woff2|eot|ttf)$/, - loader: 'url-loader', - }, - ], + rules: [ + { + test: /\.(png|jpg|gif|svg|woff|woff2|eot|ttf)$/, + loader: 'url-loader', + }, + ], }, } diff --git a/apps/workflowengine/webpack.js b/apps/workflowengine/webpack.js index bbd5efa9799..c1437a3f89b 100644 --- a/apps/workflowengine/webpack.js +++ b/apps/workflowengine/webpack.js @@ -1,4 +1,4 @@ -const path = require('path'); +const path = require('path') module.exports = { entry: path.join(__dirname, 'src', 'workflowengine.js'), @@ -6,6 +6,6 @@ module.exports = { path: path.resolve(__dirname, './js'), publicPath: '/js/', filename: 'workflowengine.js', - jsonpFunction: 'webpackJsonpWorkflowengine' - } + jsonpFunction: 'webpackJsonpWorkflowengine', + }, } diff --git a/core/src/tests/.eslintrc.js b/core/src/tests/.eslintrc.js new file mode 100644 index 00000000000..451ef6bdfa2 --- /dev/null +++ b/core/src/tests/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + globals: { + jsdom: true, + sinon: true, + }, + rules: { + "node/no-unpublished-import": 'off' + } +} diff --git a/core/src/tests/OC/requesttoken.spec.js b/core/src/tests/OC/requesttoken.spec.js index d19a4b8e9c8..5506a4f72cc 100644 --- a/core/src/tests/OC/requesttoken.spec.js +++ b/core/src/tests/OC/requesttoken.spec.js @@ -1,4 +1,4 @@ -/* +/** * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at> * * @author 2020 Christoph Wurst <christoph@winzerhof-wurst.at> @@ -19,10 +19,10 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -import {JSDOM} from 'jsdom' -import {subscribe, unsubscribe} from '@nextcloud/event-bus' +import { JSDOM } from 'jsdom' +import { subscribe, unsubscribe } from '@nextcloud/event-bus' -import {manageToken, setToken} from '../../OC/requesttoken' +import { manageToken, setToken } from '../../OC/requesttoken' describe('request token', () => { @@ -66,7 +66,7 @@ describe('request token', () => { it('fires off an event for @nextcloud/auth', () => { setToken('123') - expect(listener).to.have.been.calledWith({token: '123'}) + expect(listener).to.have.been.calledWith({ token: '123' }) }) }) diff --git a/core/src/tests/setup.js b/core/src/tests/setup.js index bec4e11eaea..2e8ab27775d 100644 --- a/core/src/tests/setup.js +++ b/core/src/tests/setup.js @@ -21,8 +21,8 @@ require('jsdom-global')() const chai = require('chai') -var sinon = require('sinon') -var sinonChai = require('sinon-chai'); +const sinon = require('sinon') +const sinonChai = require('sinon-chai') chai.use(sinonChai) global.expect = chai.expect diff --git a/core/src/views/Login.vue b/core/src/views/Login.vue index c75ae98030b..304bc883557 100644 --- a/core/src/views/Login.vue +++ b/core/src/views/Login.vue @@ -164,8 +164,8 @@ export default { }, hideLoginForm: { type: Boolean, - default: false - } + default: false, + }, }, data() { return { diff --git a/core/webpack.js b/core/webpack.js index cf9c332ead0..3fc3290d470 100644 --- a/core/webpack.js +++ b/core/webpack.js @@ -33,7 +33,7 @@ module.exports = [ }, plugins: [ new webpack.ProvidePlugin({ - '_': 'underscore', + _: 'underscore', $: 'jquery', jQuery: 'jquery', }), diff --git a/core/webpack.test.js b/core/webpack.test.js index f87d8bd9d92..1fe0c2509db 100644 --- a/core/webpack.test.js +++ b/core/webpack.test.js @@ -19,13 +19,13 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -const { merge } = require('webpack-merge'); -const common = require('./webpack.js'); +const { merge } = require('webpack-merge') +const common = require('./webpack.js') // webpack.config.js const nodeExternals = require('webpack-node-externals') module.exports = merge(common[0], { mode: 'development', devtool: 'inline-cheap-module-source-map', - externals: [nodeExternals()] + externals: [nodeExternals()], }) diff --git a/webpack.common.js b/webpack.common.js index de0aeaacfc8..9d800139aff 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -37,7 +37,7 @@ const modules = { weather_status, twofactor_backupscodes, updatenotification, - workflowengine + workflowengine, } const modulesToBuild = () => { @@ -46,7 +46,7 @@ const modulesToBuild = () => { if (!modules[MODULE]) { throw new Error(`No module "${MODULE}" found`) } - return [ modules[MODULE] ] + return [modules[MODULE]] } return Object.values(modules) } diff --git a/webpack.dev.js b/webpack.dev.js index 95b82b823a4..798f34ef4ff 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -1,5 +1,5 @@ -const { merge } = require('webpack-merge'); -const common = require('./webpack.common.js'); +const { merge } = require('webpack-merge') +const common = require('./webpack.common.js') module.exports = common.map( config => merge(config, { diff --git a/webpack.prod.js b/webpack.prod.js index 9a2477e7d70..69964a32b0f 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -1,6 +1,6 @@ const { merge } = require('webpack-merge') const common = require('./webpack.common.js') -const TerserPlugin = require('terser-webpack-plugin'); +const TerserPlugin = require('terser-webpack-plugin') module.exports = common.map( config => merge(config, { |