Просмотр исходного кода

Upgrade eslint & standard and fix linting accordingly

Kevin van Zonneveld 9 лет назад
Родитель
Сommit
ae55424d1d

+ 1 - 1
.eslintrc

@@ -2,7 +2,7 @@
   "extends": "standard",
   "env": {
     "browser": true,
-    "node": false
+    "node": true
   },
   "globals": {
     "window": true,

+ 3 - 3
package.json

@@ -57,9 +57,9 @@
     "browserify": "12.0.1",
     "chalk": "1.1.1",
     "disc": "1.3.2",
-    "eslint": "1.10.3",
-    "eslint-config-standard": "4.4.0",
-    "eslint-plugin-standard": "1.3.1",
+    "eslint": "2.4.0",
+    "eslint-config-standard": "5.1.0",
+    "eslint-plugin-standard": "1.3.2",
     "multi-glob": "1.0.1",
     "node-notifier": "4.4.0",
     "node-sass": "3.4.2",

+ 10 - 10
src/core/Core.js

@@ -85,7 +85,7 @@ export default class Core {
  */
   getPlugin (name) {
     let foundPlugin = false
-    this.iteratePlugins(plugin => {
+    this.iteratePlugins((plugin) => {
       if (plugin.constructor.name === name) {
         foundPlugin = plugin
         return false
@@ -100,7 +100,7 @@ export default class Core {
  * @param function method description
  */
   iteratePlugins (method) {
-    Object.keys(this.plugins).forEach(pluginType => {
+    Object.keys(this.plugins).forEach((pluginType) => {
       this.plugins[pluginType].forEach(method)
     })
   }
@@ -130,7 +130,7 @@ export default class Core {
     if (msg === `${msg}`) {
       console.log(`DEBUG LOG: ${msg}`)
     } else {
-      console.log(`DEBUG LOG`)
+      console.log('DEBUG LOG')
       console.dir(msg)
     }
   }
@@ -144,11 +144,11 @@ export default class Core {
  */
   runType (type, method, files) {
     const methods = this.plugins[type].map(
-      plugin => plugin[method](Utils.flatten(files))
+      (plugin) => plugin[method](Utils.flatten(files))
     )
 
     return Promise.all(methods)
-      .catch(error => console.error(error))
+      .catch((error) => console.error(error))
   }
 
 /**
@@ -169,14 +169,14 @@ export default class Core {
     // Each Plugin can have `run` and/or `install` methods.
     // `install` adds event listeners and does some non-blocking work, useful for `progressindicator`,
     // `run` waits for the previous step to finish (user selects files) before proceeding
-    ['install', 'run'].forEach(method => {
+    ['install', 'run'].forEach((method) => {
       // First we select only plugins of current type,
       // then create an array of runType methods of this plugins
-      const typeMethods = this.types.filter(type => this.plugins[type])
-        .map(type => this.runType.bind(this, type, method))
+      const typeMethods = this.types.filter((type) => this.plugins[type])
+        .map((type) => this.runType.bind(this, type, method))
       // Run waterfall of typeMethods
       return Utils.promiseWaterfall(typeMethods)
-        .then(result => {
+        .then((result) => {
           // If results are empty, don't log upload results. Hasn't run yet.
           if (result[0] !== undefined) {
             this.log(result)
@@ -184,7 +184,7 @@ export default class Core {
             return result
           }
         })
-        .catch(error => this.log('Upload result -> failed:', error))
+        .catch((error) => this.log('Upload result -> failed:', error))
     })
   }
 }

+ 2 - 2
src/plugins/DragDrop.js

@@ -146,7 +146,7 @@ export default class DragDrop extends Plugin {
       filesSelected: newFiles
     })
 
-    newFiles.forEach(newFile => {
+    newFiles.forEach((newFile) => {
       this.files.push(newFile)
     })
 
@@ -163,7 +163,7 @@ export default class DragDrop extends Plugin {
       filesSelected: newFiles
     })
 
-    newFiles.forEach(newFile => {
+    newFiles.forEach((newFile) => {
       this.files.push(newFile)
     })
 

+ 1 - 1
src/plugins/Dropbox.js

@@ -60,7 +60,7 @@ export default class Dropbox extends Plugin {
     // add an onClick to each list item
     const fileElems = this._target.querySelectorAll('li')
 
-    Array.prototype.forEach.call(fileElems, element => {
+    Array.prototype.forEach.call(fileElems, (element) => {
       const type = element.getAttribute('data-type')
 
       if (type === 'file') {

+ 14 - 14
src/plugins/GoogleDrive.js

@@ -25,14 +25,14 @@ export default class Google extends Plugin {
 
   focus () {
     this.checkAuthentication()
-    .then(res => {
+    .then((res) => {
       if (!this.isAuthenticated) {
         this.target.innerHTML = this.renderAuth()
       } else {
         this.renderFolder()
       }
     })
-    .catch(err => {
+    .catch((err) => {
       this.target.innerHTML = this.renderError(err)
     })
   }
@@ -46,9 +46,9 @@ export default class Google extends Plugin {
         'Content-Type': 'application/json'
       }
     })
-    .then(res => {
+    .then((res) => {
       if (res.status >= 200 && res.status <= 300) {
-        return res.json().then(data => {
+        return res.json().then((data) => {
           this.isAuthenticated = data.isAuthenticated
         })
       } else {
@@ -57,7 +57,7 @@ export default class Google extends Plugin {
         throw error
       }
     })
-    .catch(err => {
+    .catch((err) => {
       this.target.innerHTML = this.renderError(err)
     })
   }
@@ -85,12 +85,12 @@ export default class Google extends Plugin {
         dir: folderId || undefined
       }
     })
-    .then(res => {
+    .then((res) => {
       if (res.status >= 200 && res.status <= 300) {
-        return res.json().then(data => {
+        return res.json().then((data) => {
           let folders = []
           let files = []
-          data.items.forEach(item => {
+          data.items.forEach((item) => {
             if (item.mimeType === 'application/vnd.google-apps.folder') {
               folders.push(item)
             } else {
@@ -131,12 +131,12 @@ export default class Google extends Plugin {
   }
 
   renderAuth () {
-    return `<div><h1>Authenticate With Google Drive</h1><a href=${ this.authUrl || '#' }>Authenticate</a></div>`
+    return `<div><h1>Authenticate With Google Drive</h1><a href=${this.authUrl || '#'}>Authenticate</a></div>`
   }
 
   renderBrowser (data) {
-    const folders = data.folders.map(folder => `<li>Folder<button class="GoogleDriveFolder" data-id="${folder.id}" data-title="${folder.title}">${folder.title}</button></li>`)
-    const files = data.files.map(file => `<li><button class="GoogleDriveFile" data-id="${file.id}" data-title="${file.title}">${file.title}</button></li>`)
+    const folders = data.folders.map((folder) => `<li>Folder<button class="GoogleDriveFolder" data-id="${folder.id}" data-title="${folder.title}">${folder.title}</button></li>`)
+    const files = data.files.map((file) => `<li><button class="GoogleDriveFile" data-id="${file.id}" data-title="${file.title}">${file.title}</button></li>`)
     return `<ul>${folders}</ul><ul>${files}</ul>`
   }
 
@@ -146,13 +146,13 @@ export default class Google extends Plugin {
 
   renderFolder (folder = this.currentFolder) {
     this.getFolder(folder)
-    .then(data => {
+    .then((data) => {
       this.target.innerHTML = this.renderBrowser(data)
       const folders = Utils.qsa('.GoogleDriveFolder')
       const files = Utils.qsa('.GoogleDriveFile')
 
-      folders.forEach(folder => folder.addEventListener('click', e => this.renderFolder(folder.dataset.id)))
-      files.forEach(file => file.addEventListener('click', e => this.getFile(file.dataset.id)))
+      folders.forEach((folder) => folder.addEventListener('click', (e) => this.renderFolder(folder.dataset.id)))
+      files.forEach((file) => file.addEventListener('click', (e) => this.getFile(file.dataset.id)))
     })
   }
 }

+ 6 - 6
src/plugins/Modal.js

@@ -125,8 +125,8 @@ export default class Modal extends Plugin {
   }
 
   hideAllTabPanels () {
-    this.tabPanels.forEach(tabPanel => tabPanel.setAttribute('aria-hidden', true))
-    this.tabs.forEach(tab => tab.removeAttribute('aria-selected'))
+    this.tabPanels.forEach((tabPanel) => tabPanel.setAttribute('aria-hidden', true))
+    this.tabs.forEach((tab) => tab.removeAttribute('aria-selected'))
   }
 
   showTabPanel (pluginSelector, pluginName) {
@@ -160,7 +160,7 @@ export default class Modal extends Plugin {
 
       this.nextButton.innerHTML = this.core.i18n('uploadFiles', {'smart_count': this.core.totalFilesSelectedCount})
 
-      Object.keys(files).forEach(file => {
+      Object.keys(files).forEach((file) => {
         this.core.log(`These file has been selected: ${files[file]}`)
       })
     })
@@ -168,7 +168,7 @@ export default class Modal extends Plugin {
     this.core.emitter.on('reset', () => this.nextButton.classList.remove('is-active'))
 
     // Close the Modal on esc key press
-    document.body.addEventListener('keyup', event => {
+    document.body.addEventListener('keyup', (event) => {
       if (event.keyCode === 27) {
         this.hideModal()
       }
@@ -186,13 +186,13 @@ export default class Modal extends Plugin {
     // Get all tab buttons and loop through them, to determine which
     // tabPanel they trigger, set events
     this.tabs = Utils.qsa('.UppyModalTab-btn')
-    this.tabs.forEach(tab => {
+    this.tabs.forEach((tab) => {
       const pluginSelector = tab.getAttribute('data-open')
       const pluginName = tab.getAttribute('aria-controls')
       const tabPanel = document.querySelector(`.${pluginSelector}`)
       this.tabPanels.push(tabPanel)
 
-      tab.addEventListener('click', event => {
+      tab.addEventListener('click', (event) => {
         event.preventDefault()
         this.showTabPanel(pluginSelector, pluginName)
       })

+ 2 - 2
src/plugins/Plugin.js

@@ -66,9 +66,9 @@ export default class Plugin {
     // }
 
     const files = []
-    results.forEach(result => {
+    results.forEach((result) => {
       try {
-        Array.from(result.files).forEach(file => files.push(file))
+        Array.from(result.files).forEach((file) => files.push(file))
       } catch (e) {
         console.log(e)
       }

+ 1 - 1
src/plugins/Present.js

@@ -42,7 +42,7 @@ export default class Present extends Plugin {
   }
 
   initEvents () {
-    this.core.emitter.on('reset', data => {
+    this.core.emitter.on('reset', (data) => {
       this.hidePresenter()
     })
   }

+ 2 - 2
src/plugins/ProgressBar.js

@@ -38,7 +38,7 @@ export default class ProgressBar extends Plugin {
 
   events () {
     // When there is some progress (uploading), emit this event to adjust progressbar
-    this.core.emitter.on('progress', data => {
+    this.core.emitter.on('progress', (data) => {
       const percentage = data.percentage
       const plugin = data.plugin
       this.core.log(
@@ -47,7 +47,7 @@ export default class ProgressBar extends Plugin {
       this.setProgress(percentage)
     })
 
-    this.core.emitter.on('reset', data => {
+    this.core.emitter.on('reset', (data) => {
       this.progressBarContainerEl.classList.remove('is-active')
       this.uploadButton.classList.remove('is-active')
       this.uploadButton.innerHTML = this.core.i18n('upload')

+ 2 - 2
src/plugins/Spinner.js

@@ -26,12 +26,12 @@ export default class Spinner extends Plugin {
 
   initSpinner () {
     const spinnerContainer = document.querySelector(this.target)
-    spinnerContainer.innerHTML = `<div class="UppySpinner"></div>`
+    spinnerContainer.innerHTML = '<div class="UppySpinner"></div>'
     this.spinnerEl = document.querySelector(`${this.target} .UppySpinner`)
   }
 
   initEvents () {
-    this.core.emitter.on('progress', data => {
+    this.core.emitter.on('progress', (data) => {
       const percentage = data.percentage
       const plugin = data.plugin
       this.core.log(

+ 1 - 1
src/plugins/Tus10.js

@@ -38,7 +38,7 @@ export default class Tus10 extends Plugin {
     return new Promise((resolve, reject) => {
       const upload = new tus.Upload(file, {
         endpoint: this.opts.endpoint,
-        onError: error => {
+        onError: (error) => {
           reject('Failed because: ' + error)
         },
         onProgress: (bytesUploaded, bytesTotal) => {

+ 3 - 2
test/multipart.spec.js

@@ -1,4 +1,5 @@
 var test = require('tape')
+var path = require('path')
 var webdriver = require('selenium-webdriver')
 var By = webdriver.By
 
@@ -11,8 +12,8 @@ test('upload two files', function (t) {
   driver.get('http://localhost:4000/examples/multipart/')
 
   // Select files to upload
-  driver.findElement(By.id('myfile1')).sendKeys(__dirname + '/image.jpg')
-  driver.findElement(By.id('myfile2')).sendKeys(__dirname + '/image2.jpg')
+  driver.findElement(By.id('myfile1')).sendKeys(path.join(__dirname, '/image.jpg'))
+  driver.findElement(By.id('myfile2')).sendKeys(path.join(__dirname, '/image2.jpg'))
 
   // Click submit button
   driver.findElement(By.id('myupload')).click()