Merge pull request #11235 from electron/standard-10

infra: Upgrade to StandardJS 10
This commit is contained in:
Cheng Zhao 2017-11-27 15:42:52 +09:00 committed by GitHub
commit 1c0ea0286e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 105 additions and 43 deletions

View file

@ -306,7 +306,6 @@ function startRepl () {
if (process.platform === 'win32') {
console.error('Electron REPL not currently supported on Windows')
process.exit(1)
return
}
const repl = require('repl')

View file

@ -28,7 +28,9 @@ var spawnUpdate = function (args, detached, callback) {
// Process spawned, different args: Return with error
// No process spawned: Spawn new process
if (spawnedProcess && !isSameArgs(args)) {
return callback('AutoUpdater process with arguments ' + args + ' is already running')
// Disabled for backwards compatibility:
// eslint-disable-next-line standard/no-callback-literal
return callback(`AutoUpdater process with arguments ${args} is already running`)
} else if (!spawnedProcess) {
spawnedProcess = spawn(updateExe, args, {
detached: detached
@ -68,7 +70,9 @@ var spawnUpdate = function (args, detached, callback) {
// Process terminated with error.
if (code !== 0) {
return callback('Command failed: ' + (signal != null ? signal : code) + '\n' + stderr)
// Disabled for backwards compatibility:
// eslint-disable-next-line standard/no-callback-literal
return callback(`Command failed: ${signal != null ? signal : code}\n${stderr}`)
}
// Success.
@ -93,7 +97,9 @@ exports.checkForUpdate = function (updateURL, callback) {
json = stdout.trim().split('\n').pop()
update = (ref = JSON.parse(json)) != null ? (ref1 = ref.releasesToApply) != null ? typeof ref1.pop === 'function' ? ref1.pop() : void 0 : void 0 : void 0
} catch (jsonError) {
return callback('Invalid result:\n' + stdout)
// Disabled for backwards compatibility:
// eslint-disable-next-line standard/no-callback-literal
return callback(`Invalid result:\n${stdout}`)
}
return callback(null, update)
})

View file

@ -79,7 +79,6 @@ class IncomingMessage extends Readable {
this.shouldPush = true
this._pushInternalData()
}
}
URLRequest.prototype._emitRequestEvent = function (isAsync, ...rest) {
@ -103,7 +102,6 @@ URLRequest.prototype._emitResponseEvent = function (isAsync, ...rest) {
}
class ClientRequest extends EventEmitter {
constructor (options, callback) {
super()
@ -354,7 +352,6 @@ class ClientRequest extends EventEmitter {
abort () {
this.urlRequest.cancel()
}
}
function writeAfterEndNT (self, error, callback) {

View file

@ -26,6 +26,8 @@ Session.prototype.setCertificateVerifyProc = function (verifyProc) {
// TODO(kevinsawicki): Remove in 2.0, deprecate before then with warnings
this._setCertificateVerifyProc(({hostname, certificate, verificationResult}, cb) => {
verifyProc(hostname, certificate, (result) => {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
cb(result ? 0 : -2)
})
})

View file

@ -6,6 +6,7 @@ const {app, ipcMain, session, NavigationController} = electron
// session is not used here, the purpose is to make sure session is initalized
// before the webContents module.
// eslint-disable-next-line
session
let nextId = 0

View file

@ -311,6 +311,8 @@ const chromeExtensionHandler = function (request, callback) {
const page = backgroundPages[parsed.hostname]
if (page && parsed.path === `/${page.name}`) {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
return callback({
mimeType: 'text/html',
data: page.html
@ -319,6 +321,8 @@ const chromeExtensionHandler = function (request, callback) {
fs.readFile(path.join(manifest.srcDirectory, parsed.path), function (err, content) {
if (err) {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
return callback(-6) // FILE_NOT_FOUND
} else {
return callback(content)

View file

@ -367,6 +367,8 @@
return invalidArchiveError(asarPath, callback)
}
process.nextTick(function () {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
callback(archive.stat(filePath) !== false)
})
}
@ -482,7 +484,7 @@
}
if (info.size === 0) {
return process.nextTick(function () {
callback(null, encoding ? '' : new Buffer(0))
callback(null, encoding ? '' : Buffer.alloc(0))
})
}
if (info.unpacked) {
@ -490,7 +492,7 @@
return fs.readFile(realPath, options, callback)
}
const buffer = new Buffer(info.size)
const buffer = Buffer.alloc(info.size)
const fd = archive.getFd()
if (!(fd >= 0)) {
return notFoundError(asarPath, filePath, callback)
@ -519,7 +521,7 @@
if (options) {
return ''
} else {
return new Buffer(0)
return Buffer.alloc(0)
}
}
if (info.unpacked) {
@ -538,7 +540,7 @@
throw new TypeError('Bad arguments')
}
const {encoding} = options
const buffer = new Buffer(info.size)
const buffer = Buffer.alloc(info.size)
const fd = archive.getFd()
if (!(fd >= 0)) {
notFoundError(asarPath, filePath)
@ -611,7 +613,7 @@
encoding: 'utf8'
})
}
const buffer = new Buffer(info.size)
const buffer = Buffer.alloc(info.size)
const fd = archive.getFd()
if (!(fd >= 0)) {
return

View file

@ -147,6 +147,8 @@ exports.injectTo = function (extensionId, isBackgroundPage, context) {
executeScript (tabId, details, callback) {
const requestId = ++nextId
ipcRenderer.once(`CHROME_TABS_EXECUTESCRIPT_RESULT_${requestId}`, (event, result) => {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
callback([event.result])
})
ipcRenderer.send('CHROME_TABS_EXECUTESCRIPT', requestId, tabId, extensionId, details)

View file

@ -51,6 +51,8 @@ const getStorage = (storageType, extensionId, cb) => {
if (data !== null) {
cb(JSON.parse(data))
} else {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
cb({})
}
})
@ -82,6 +84,9 @@ const getStorageManager = (storageType, extensionId) => {
}
break
}
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
if (keys.length === 0) return callback({})
let items = {}

View file

@ -20,7 +20,7 @@
"remark-cli": "^4.0.0",
"remark-preset-lint-markdown-style-guide": "^2.1.1",
"request": "^2.68.0",
"standard": "^8.4.0",
"standard": "^10.0.0",
"standard-markdown": "^4.0.0",
"sumchecker": "^2.0.2",
"temp": "^0.8.3"

View file

@ -32,7 +32,7 @@ async function makeRequest (requestOptions, parseResponse) {
} else {
console.log('Error: ', `(status ${res.statusCode})`, err || res.body, requestOptions)
}
reject()
reject(err)
}
})
})

View file

@ -31,7 +31,7 @@ async function checkoutBranch (branchName) {
console.log(`Checking out ${branchName}.`)
let errorMessage = `Error checking out branch ${branchName}:`
let successMessage = `Successfully checked out branch ${branchName}.`
return await callGit(['checkout', branchName], errorMessage, successMessage)
return callGit(['checkout', branchName], errorMessage, successMessage)
}
async function commitMerge () {
@ -39,7 +39,7 @@ async function commitMerge () {
let errorMessage = `Error committing merge:`
let successMessage = `Successfully committed the merge for v${pkg.version}`
let gitArgs = ['commit', '-m', `v${pkg.version}`]
return await callGit(gitArgs, errorMessage, successMessage)
return callGit(gitArgs, errorMessage, successMessage)
}
async function mergeReleaseIntoBranch (branchName) {
@ -67,14 +67,14 @@ async function pushBranch (branchName) {
let pushArgs = ['push', 'origin', branchName]
let errorMessage = `Could not push branch ${branchName} due to an error:`
let successMessage = `Successfully pushed branch ${branchName}.`
return await callGit(pushArgs, errorMessage, successMessage)
return callGit(pushArgs, errorMessage, successMessage)
}
async function pull () {
console.log(`Performing a git pull`)
let errorMessage = `Could not pull due to an error:`
let successMessage = `Successfully performed a git pull`
return await callGit(['pull'], errorMessage, successMessage)
return callGit(['pull'], errorMessage, successMessage)
}
async function rebase (targetBranch) {
@ -82,7 +82,7 @@ async function rebase (targetBranch) {
let errorMessage = `Could not rebase due to an error:`
let successMessage = `Successfully rebased release branch from ` +
`${targetBranch}`
return await callGit(['rebase', targetBranch], errorMessage, successMessage)
return callGit(['rebase', targetBranch], errorMessage, successMessage)
}
async function mergeRelease () {

View file

@ -215,7 +215,7 @@ async function uploadShasumFile (filePath, fileName, release) {
filePath,
name: fileName
}
return await github.repos.uploadAsset(githubOpts)
return github.repos.uploadAsset(githubOpts)
.catch(err => {
console.log(`${fail} Error uploading ${filePath} to GitHub:`, err)
process.exit(1)
@ -250,7 +250,7 @@ async function publishRelease (release) {
tag_name: release.tag_name,
draft: false
}
return await github.repos.editRelease(githubOpts)
return github.repos.editRelease(githubOpts)
.catch(err => {
console.log(`${fail} Error publishing release:`, err)
process.exit(1)
@ -447,7 +447,7 @@ async function cleanupReleaseBranch () {
await callGit(['branch', '-D', 'release'], errorMessage, successMessage)
errorMessage = `Could not delete remote release branch.`
successMessage = `Successfully deleted remote release branch.`
return await callGit(['push', 'origin', ':release'], errorMessage, successMessage)
return callGit(['push', 'origin', ':release'], errorMessage, successMessage)
}
async function callGit (args, errorMessage, successMessage) {

View file

@ -27,7 +27,7 @@ describe('BrowserWindow module', () => {
postData = [
{
type: 'rawData',
bytes: new Buffer('username=test&file=')
bytes: Buffer.from('username=test&file=')
},
{
type: 'file',
@ -153,7 +153,7 @@ describe('BrowserWindow module', () => {
]
const responseEvent = 'window-webContents-destroyed'
function* genNavigationEvent () {
function * genNavigationEvent () {
let eventOptions = null
while ((eventOptions = events.shift()) && events.length) {
let w = new BrowserWindow({show: false})
@ -270,7 +270,7 @@ describe('BrowserWindow module', () => {
assert.equal(isMainFrame, true)
done()
})
const data = new Buffer(2 * 1024 * 1024).toString('base64')
const data = Buffer.alloc(2 * 1024 * 1024).toString('base64')
w.loadURL(`data:image/png;base64,${data}`)
})
@ -1056,6 +1056,8 @@ describe('BrowserWindow module', () => {
// http protocol to simulate accessing another domain. This is required
// because the code paths for cross domain popups is different.
function crossDomainHandler (request, callback) {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
callback({
mimeType: 'text/html',
data: `<html><body><h1>${request.url}</h1></body></html>`
@ -3033,6 +3035,8 @@ const isScaleFactorRounding = () => {
function serveFileFromProtocol (protocolName, filePath) {
return new Promise((resolve, reject) => {
protocol.registerBufferProtocol(protocolName, (request, callback) => {
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
callback({
mimeType: 'text/html',
data: fs.readFileSync(filePath)

View file

@ -145,7 +145,7 @@ describe('ipc module', () => {
describe('remote.createFunctionWithReturnValue', () => {
it('should be called in browser synchronously', () => {
const buf = new Buffer('test')
const buf = Buffer.from('test')
const call = remote.require(path.join(fixtures, 'module', 'call.js'))
const result = call.call(remote.createFunctionWithReturnValue(buf))
assert.equal(result.constructor.name, 'Buffer')
@ -195,6 +195,7 @@ describe('ipc module', () => {
const foo = remote.require(path.join(fixtures, 'module', 'error-properties.js'))
assert.throws(() => {
// eslint-disable-next-line
foo.bar
}, /getting error/)
@ -239,7 +240,7 @@ describe('ipc module', () => {
const printName = remote.require(print)
it('keeps its constructor name for objects', () => {
const buf = new Buffer('test')
const buf = Buffer.from('test')
assert.equal(printName.print(buf), 'Buffer')
})

View file

@ -1,5 +1,7 @@
'use strict'
/* eslint-disable no-unused-expressions */
const {expect} = require('chai')
const {nativeImage} = require('electron')
const path = require('path')

View file

@ -6,6 +6,9 @@ const url = require('url')
const {net} = remote
const {session} = remote
/* The whole net API doesn't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
function randomBuffer (size, start, end) {
start = start || 0
end = end || 255
@ -855,6 +858,8 @@ describe('net module', () => {
(details, callback) => {
if (details.url === `${server.url}${requestUrl}`) {
requestIsIntercepted = true
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
callback({
redirectURL: `${server.url}${redirectUrl}`
})
@ -907,6 +912,8 @@ describe('net module', () => {
customSession.webRequest.onBeforeRequest((details, callback) => {
if (details.url === `${server.url}${requestUrl}`) {
requestIsIntercepted = true
// Disabled due to false positive in StandardJS
// eslint-disable-next-line standard/no-callback-literal
callback({
redirectURL: `${server.url}${redirectUrl}`
})
@ -1154,6 +1161,8 @@ describe('net module', () => {
url: `${server.url}${requestUrl}`,
session: 1
})
// eslint-disable-next-line
urlRequest
} catch (exception) {
done()
@ -1223,6 +1232,8 @@ describe('net module', () => {
url: `${server.url}${requestUrl}`,
partition: 1
})
// eslint-disable-next-line
urlRequest
} catch (exception) {
done()

View file

@ -10,6 +10,9 @@ const {BrowserWindow, ipcMain, protocol, session, webContents} = remote
// and use Stream instances created in the browser process.
const stream = remote.require('stream')
/* The whole protocol API doesn't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
describe('protocol module', () => {
const protocolName = 'sp'
const text = 'valar morghulis'
@ -28,7 +31,7 @@ describe('protocol module', () => {
const body = stream.PassThrough()
async function sendChunks () {
let buf = new Buffer(data)
let buf = Buffer.from(data)
for (;;) {
body.push(buf.slice(0, chunkSize))
buf = buf.slice(chunkSize)
@ -204,7 +207,7 @@ describe('protocol module', () => {
})
describe('protocol.registerBufferProtocol', () => {
const buffer = new Buffer(text)
const buffer = Buffer.from(text)
it('sends Buffer as response', (done) => {
const handler = (request, callback) => callback(buffer)
protocol.registerBufferProtocol(protocolName, handler, (error) => {
@ -767,7 +770,7 @@ describe('protocol module', () => {
describe('protocol.interceptBufferProtocol', () => {
it('can intercept http protocol', (done) => {
const handler = (request, callback) => callback(new Buffer(text))
const handler = (request, callback) => callback(Buffer.from(text))
protocol.interceptBufferProtocol('http', handler, (error) => {
if (error) return done(error)
$.ajax({

View file

@ -10,6 +10,9 @@ const {closeWindow} = require('./window-helpers')
const {ipcRenderer, remote} = require('electron')
const {ipcMain, session, BrowserWindow, net} = remote
/* The whole session API doesn't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
describe('session module', () => {
let fixtures = path.resolve(__dirname, 'fixtures')
let w = null
@ -242,7 +245,7 @@ describe('session module', () => {
})
it('can cancel default download behavior', (done) => {
const mockFile = new Buffer(1024)
const mockFile = Buffer.alloc(1024)
const contentDisposition = 'inline; filename="mockFile.txt"'
const downloadServer = http.createServer((req, res) => {
res.writeHead(200, {
@ -271,7 +274,7 @@ describe('session module', () => {
})
describe('DownloadItem', () => {
const mockPDF = new Buffer(1024 * 1024 * 5)
const mockPDF = Buffer.alloc(1024 * 1024 * 5)
let contentDisposition = 'inline; filename="mock.pdf"'
const downloadFilePath = path.join(fixtures, 'mock.pdf')
const downloadServer = http.createServer((req, res) => {

View file

@ -10,6 +10,9 @@ const {BrowserWindow, webContents, ipcMain, session} = remote
const isCi = remote.getGlobal('isCi')
/* The whole webContents API doesn't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
describe('webContents module', () => {
const fixtures = path.resolve(__dirname, 'fixtures')
let w
@ -634,7 +637,7 @@ describe('webContents module', () => {
]
const responseEvent = 'webcontents-destroyed'
function* genNavigationEvent () {
function * genNavigationEvent () {
let eventOptions = null
while ((eventOptions = events.shift()) && events.length) {
eventOptions.responseEvent = responseEvent

View file

@ -4,6 +4,9 @@ const {closeWindow} = require('./window-helpers')
const {remote, webFrame} = require('electron')
const {BrowserWindow, protocol, ipcMain} = remote
/* Most of the APIs here don't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
describe('webFrame module', function () {
var fixtures = path.resolve(__dirname, 'fixtures')
var w = null

View file

@ -4,6 +4,9 @@ const qs = require('querystring')
const remote = require('electron').remote
const session = remote.session
/* The whole webRequest API doesn't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
describe('webRequest module', () => {
const ses = session.defaultSession
const server = http.createServer((req, res) => {

View file

@ -15,7 +15,7 @@ describe('asar package', function () {
describe('node api', function () {
it('supports paths specified as a Buffer', function () {
var file = new Buffer(path.join(fixtures, 'asar', 'a.asar', 'file1'))
var file = Buffer.from(path.join(fixtures, 'asar', 'a.asar', 'file1'))
assert.equal(fs.existsSync(file), true)
})
@ -491,7 +491,7 @@ describe('asar package', function () {
file = ref2[j]
p = path.join(fixtures, 'asar', 'a.asar', file)
fd = fs.openSync(p, 'r')
buffer = new Buffer(6)
buffer = Buffer.alloc(6)
fs.readSync(fd, buffer, 0, 6, 0)
assert.equal(String(buffer).trim(), 'file1')
fs.closeSync(fd)
@ -512,7 +512,7 @@ describe('asar package', function () {
var p = path.join(fixtures, 'asar', 'a.asar', 'file1')
fs.open(p, 'r', function (err, fd) {
assert.equal(err, null)
var buffer = new Buffer(6)
var buffer = Buffer.alloc(6)
fs.read(fd, buffer, 0, 6, 0, function (err) {
assert.equal(err, null)
assert.equal(String(buffer).trim(), 'file1')

View file

@ -11,6 +11,9 @@ const {app, BrowserWindow, ipcMain, protocol, session, webContents} = remote
const isCI = remote.getGlobal('isCi')
/* Most of the APIs here don't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
describe('chromium feature', () => {
const fixtures = path.resolve(__dirname, 'fixtures')
let listener = null

View file

@ -300,7 +300,7 @@ describe('node feature', () => {
it('can be created from WebKit external string', () => {
const p = document.createElement('p')
p.innerText = '闲云潭影日悠悠,物换星移几度秋'
const b = new Buffer(p.innerText)
const b = Buffer.from(p.innerText)
assert.equal(b.toString(), '闲云潭影日悠悠,物换星移几度秋')
assert.equal(Buffer.byteLength(p.innerText), 45)
})
@ -308,15 +308,15 @@ describe('node feature', () => {
it('correctly parses external one-byte UTF8 string', () => {
const p = document.createElement('p')
p.innerText = 'Jøhänñéß'
const b = new Buffer(p.innerText)
const b = Buffer.from(p.innerText)
assert.equal(b.toString(), 'Jøhänñéß')
assert.equal(Buffer.byteLength(p.innerText), 13)
})
it('does not crash when creating large Buffers', () => {
let buffer = new Buffer(new Array(4096).join(' '))
let buffer = Buffer.from(new Array(4096).join(' '))
assert.equal(buffer.length, 4095)
buffer = new Buffer(new Array(4097).join(' '))
buffer = Buffer.from(new Array(4097).join(' '))
assert.equal(buffer.length, 4096)
})
})
@ -324,6 +324,7 @@ describe('node feature', () => {
describe('process.stdout', () => {
it('does not throw an exception when accessed', () => {
assert.doesNotThrow(() => {
// eslint-disable-next-line
process.stdout
})
})
@ -358,7 +359,7 @@ describe('node feature', () => {
describe('process.stdin', () => {
it('does not throw an exception when accessed', () => {
assert.doesNotThrow(() => {
process.stdin
process.stdin // eslint-disable-line
})
})

View file

@ -32,9 +32,11 @@ app.commandLine.appendSwitch('disable-renderer-backgrounding')
// Accessing stdout in the main process will result in the process.stdout
// throwing UnknownSystemError in renderer process sometimes. This line makes
// sure we can reproduce it in renderer process.
// eslint-disable-next-line
process.stdout
// Access console to reproduce #3482.
// eslint-disable-next-line
console
ipcMain.on('message', function (event, ...args) {
@ -378,6 +380,8 @@ const suspendListeners = (emitter, eventName, callback) => {
listeners.forEach((listener) => {
emitter.on(eventName, listener)
})
// eslint-disable-next-line standard/no-callback-literal
callback(...args)
})
}

View file

@ -9,6 +9,9 @@ const {closeWindow} = require('./window-helpers')
const isCI = remote.getGlobal('isCi')
const nativeModulesEnabled = remote.getGlobal('nativeModulesEnabled')
/* Most of the APIs here don't use standard callbacks */
/* eslint-disable standard/no-callback-literal */
describe('<webview> tag', function () {
this.timeout(3 * 60 * 1000)
@ -1425,7 +1428,7 @@ describe('<webview> tag', function () {
})
webview.style.display = 'none'
webview.offsetHeight
webview.offsetHeight // eslint-disable-line
webview.style.display = 'block'
})
webview.src = `file://${fixtures}/pages/a.html`
@ -1444,7 +1447,7 @@ describe('<webview> tag', function () {
})
webview.style.display = 'none'
webview.offsetHeight
webview.offsetHeight // eslint-disable-line
webview.style.display = 'block'
})
webview.src = `file://${fixtures}/pages/a.html`