From 662db2094872a7985e4762997617776e3b16696b Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Tue, 9 Jul 2019 04:15:32 -0700 Subject: [PATCH] Disallow `var` Summary: We're ES6 and `var`s scoping rules are weird. Let's block this. Reviewed By: jknoxville Differential Revision: D16131290 fbshipit-source-id: ba67d16bb8a185a4bb59a657a97b00230dbacafe --- .eslintrc.js | 1 + headless/index.js | 2 +- src/__tests__/server.device.js | 4 ++-- src/dispatcher/desktopDevice.js | 2 +- src/fb-stubs/Logger.js | 2 +- src/plugins/cpu/index.js | 2 +- src/plugins/databases/index.js | 2 +- src/server.js | 2 +- static/transforms/electron-stubs.js | 6 +++--- 9 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 5a14dc957..c148fc7f8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -21,6 +21,7 @@ module.exports = { 'no-catch-shadow': 0, // only relevant for IE8 and below 'no-bitwise': 0, // bitwise operations needed in some places 'consistent-return': 0, + 'no-var': 2, 'max-len': 0, // let's take prettier take care of this indent: 0, // let's take prettier take care of this 'no-console': 0, // we're setting window.console in App.js diff --git a/headless/index.js b/headless/index.js index 19bcdd642..d2851de74 100644 --- a/headless/index.js +++ b/headless/index.js @@ -146,7 +146,7 @@ async function exitActions( store: Store, ): Promise { const {metrics, exit} = userArguments; - for (var exitAction of exitClosures) { + for (let exitAction of exitClosures) { try { const action = await exitAction(userArguments, store); if (action.exit) { diff --git a/src/__tests__/server.device.js b/src/__tests__/server.device.js index f3aded8ff..019bd4550 100644 --- a/src/__tests__/server.device.js +++ b/src/__tests__/server.device.js @@ -37,8 +37,8 @@ beforeAll(() => { }); test('Device can connect successfully', done => { - var testFinished = false; - var disconnectedTooEarly = false; + let testFinished = false; + let disconnectedTooEarly = false; const registeredClients = []; server.addListener('new-client', (client: Client) => { // Check there is a connected device that has the same device_id as the new client diff --git a/src/dispatcher/desktopDevice.js b/src/dispatcher/desktopDevice.js index 0c52b4f21..8bd949255 100644 --- a/src/dispatcher/desktopDevice.js +++ b/src/dispatcher/desktopDevice.js @@ -12,7 +12,7 @@ import MacDevice from '../devices/MacDevice'; import WindowsDevice from '../devices/WindowsDevice'; export default (store: Store, logger: Logger) => { - var device; + let device; if (process.platform === 'darwin') { device = new MacDevice(); } else if (process.platform === 'win32') { diff --git a/src/fb-stubs/Logger.js b/src/fb-stubs/Logger.js index 11d2e575b..eaf51cd1e 100644 --- a/src/fb-stubs/Logger.js +++ b/src/fb-stubs/Logger.js @@ -9,7 +9,7 @@ import type {TrackType, Logger} from '../fb-interfaces/Logger'; import type {Store} from '../reducers/index'; import ScribeLogger from './ScribeLogger'; -var instance: ?StubLogger = null; +let instance: ?StubLogger = null; type Args = { isHeadless?: boolean, diff --git a/src/plugins/cpu/index.js b/src/plugins/cpu/index.js index cef4a8552..d55e77433 100644 --- a/src/plugins/cpu/index.js +++ b/src/plugins/cpu/index.js @@ -6,7 +6,7 @@ */ import {FlipperDevicePlugin, Device} from 'flipper'; -var adb = require('adbkit-fb'); +let adb = require('adbkit-fb'); import TemperatureTable from './TemperatureTable.js'; import { diff --git a/src/plugins/databases/index.js b/src/plugins/databases/index.js index 80025a345..7497e5119 100644 --- a/src/plugins/databases/index.js +++ b/src/plugins/databases/index.js @@ -165,7 +165,7 @@ function transformRow( index: number, ): TableBodyRow { const transformedColumns = {}; - for (var i = 0; i < columns.length; i++) { + for (let i = 0; i < columns.length; i++) { transformedColumns[columns[i]] = {value: renderValue(row[i])}; } return {key: String(index), columns: transformedColumns}; diff --git a/src/server.js b/src/server.js index 2cebfeb1d..72f1517c7 100644 --- a/src/server.js +++ b/src/server.js @@ -334,7 +334,7 @@ class ConnectionTracker { logConnectionAttempt(client: ClientQuery) { const key = `${client.os}-${client.device}-${client.app}`; const time = Date.now(); - var entry = this.connectionAttempts.get(key) || []; + let entry = this.connectionAttempts.get(key) || []; entry.push(time); entry = entry.filter(t => t >= time - this.timeWindowMillis); diff --git a/static/transforms/electron-stubs.js b/static/transforms/electron-stubs.js index d7d3c5bbf..2a0859013 100644 --- a/static/transforms/electron-stubs.js +++ b/static/transforms/electron-stubs.js @@ -5,10 +5,10 @@ * @format */ -var babylon = require('@babel/parser'); -var fs = require('fs'); +let babylon = require('@babel/parser'); +let fs = require('fs'); -var electronStubs = babylon.parseExpression( +let electronStubs = babylon.parseExpression( fs.readFileSync('static/electron-stubs.notjs').toString(), );