From 72f3ae81436aa536173f4a30cfe8ade9f1fdf4d2 Mon Sep 17 00:00:00 2001 From: Justin Beckwith Date: Mon, 17 Sep 2018 21:17:27 -0700 Subject: [PATCH] Enable no-var in eslint --- .eslintrc.yml | 1 + samples/faceDetection.js | 24 +++++----- samples/textDetection.js | 58 +++++++++++------------ src/helpers.js | 6 +-- system-test/image_annotator_smoke_test.js | 20 ++++---- system-test/vision-v1p2beta1.js | 20 ++++---- system-test/vision.js | 14 +++--- test/helpers.test.js | 2 +- 8 files changed, 73 insertions(+), 72 deletions(-) diff --git a/.eslintrc.yml b/.eslintrc.yml index bed57fbc..65f1dce6 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -11,3 +11,4 @@ rules: block-scoped-var: error eqeqeq: error no-warning-comments: warn + no-var: error diff --git a/samples/faceDetection.js b/samples/faceDetection.js index dfe617fb..d9c75e15 100644 --- a/samples/faceDetection.js +++ b/samples/faceDetection.js @@ -20,13 +20,13 @@ // specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable and use // the project specified by the GCLOUD_PROJECT environment variable. See // https://googlecloudplatform.github.io/gcloud-node/#/docs/google-cloud/latest/guides/authentication -var vision = require('@google-cloud/vision'); +let vision = require('@google-cloud/vision'); // [END vision_face_detection_tutorial_imports] // [START vision_face_detection_tutorial_client] // Creates a client -var client = new vision.ImageAnnotatorClient(); +let client = new vision.ImageAnnotatorClient(); -var fs = require('fs'); +let fs = require('fs'); // [END vision_face_detection_tutorial_client] /** @@ -40,7 +40,7 @@ function detectFaces(inputFile, callback) { .faceDetection(request) .then(results => { const faces = results[0].faceAnnotations; - var numFaces = faces.length; + let numFaces = faces.length; console.log('Found ' + numFaces + (numFaces === 1 ? ' face' : ' faces')); callback(null, faces); }) @@ -61,12 +61,12 @@ function highlightFaces(inputFile, faces, outputFile, Canvas, callback) { return callback(err); } - var Image = Canvas.Image; + let Image = Canvas.Image; // Open the original image into a canvas - var img = new Image(); + let img = new Image(); img.src = image; - var canvas = new Canvas(img.width, img.height); - var context = canvas.getContext('2d'); + let canvas = new Canvas(img.width, img.height); + let context = canvas.getContext('2d'); context.drawImage(img, 0, 0, img.width, img.height); // Now draw boxes around all the faces @@ -90,8 +90,8 @@ function highlightFaces(inputFile, faces, outputFile, Canvas, callback) { // Write the result to a file console.log('Writing to file ' + outputFile); - var writeStream = fs.createWriteStream(outputFile); - var pngStream = canvas.pngStream(); + let writeStream = fs.createWriteStream(outputFile); + let pngStream = canvas.pngStream(); pngStream.on('data', chunk => { writeStream.write(chunk); @@ -131,7 +131,7 @@ if (module === require.main) { // eslint-disable-next-line no-process-exit process.exit(1); } - var inputFile = process.argv[2]; - var outputFile = process.argv[3]; + let inputFile = process.argv[2]; + let outputFile = process.argv[3]; exports.main(inputFile, outputFile, require('canvas'), console.log); } diff --git a/samples/textDetection.js b/samples/textDetection.js index a932163d..f46e8187 100644 --- a/samples/textDetection.js +++ b/samples/textDetection.js @@ -15,27 +15,27 @@ 'use strict'; -var async = require('async'); -var fs = require('fs'); -var path = require('path'); +let async = require('async'); +let fs = require('fs'); +let path = require('path'); // By default, the client will authenticate using the service account file // specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable and use // the project specified by the GCLOUD_PROJECT environment variable. See // https://googlecloudplatform.github.io/gcloud-node/#/docs/google-cloud/latest/guides/authentication -var vision = require('@google-cloud/vision'); -var natural = require('natural'); -var redis = require('redis'); +let vision = require('@google-cloud/vision'); +let natural = require('natural'); +let redis = require('redis'); // Instantiate a vision client -var client = new vision.ImageAnnotatorClient(); +let client = new vision.ImageAnnotatorClient(); function Index() { // Connect to a redis server. - var TOKEN_DB = 0; - var DOCS_DB = 1; - var PORT = process.env.REDIS_PORT || '6379'; - var HOST = process.env.REDIS_HOST || '127.0.0.1'; + let TOKEN_DB = 0; + let DOCS_DB = 1; + let PORT = process.env.REDIS_PORT || '6379'; + let HOST = process.env.REDIS_HOST || '127.0.0.1'; this.tokenClient = redis .createClient(PORT, HOST, { @@ -59,12 +59,12 @@ Index.prototype.quit = function() { }; Index.prototype.add = function(filename, document, callback) { - var self = this; - var PUNCTUATION = ['.', ',', ':', '']; - var tokenizer = new natural.WordTokenizer(); - var tokens = tokenizer.tokenize(document); + let self = this; + let PUNCTUATION = ['.', ',', ':', '']; + let tokenizer = new natural.WordTokenizer(); + let tokens = tokenizer.tokenize(document); - var tasks = tokens + let tasks = tokens .filter(function(token) { return PUNCTUATION.indexOf(token) === -1; }) @@ -82,8 +82,8 @@ Index.prototype.add = function(filename, document, callback) { }; Index.prototype.lookup = function(words, callback) { - var self = this; - var tasks = words.map(function(word) { + let self = this; + let tasks = words.map(function(word) { word = word.toLowerCase(); return function(cb) { self.tokenClient.smembers(word, cb); @@ -114,7 +114,7 @@ Index.prototype.setContainsNoText = function(filename, callback) { }; function lookup(words, callback) { - var index = new Index(); + let index = new Index(); index.lookup(words, function(err, hits) { index.quit(); if (err) { @@ -128,7 +128,7 @@ function lookup(words, callback) { } function extractDescription(texts) { - var document = ''; + let document = ''; texts.forEach(function(text) { document += text.description || ''; }); @@ -158,10 +158,10 @@ function getTextFromFiles(index, inputFiles, callback) { .batchAnnotateImages({requests: requests}) .then(results => { let detections = results[0].responses; - var textResponse = {}; - var tasks = []; + let textResponse = {}; + let tasks = []; inputFiles.forEach(function(filename, i) { - var response = detections[i]; + let response = detections[i]; if (response.error) { console.log('API Error for ' + filename, response.error); return; @@ -186,7 +186,7 @@ function getTextFromFiles(index, inputFiles, callback) { // Run the example function main(inputDir, callback) { - var index = new Index(); + let index = new Index(); async.waterfall( [ @@ -198,7 +198,7 @@ function main(inputDir, callback) { function(files, cb) { async.parallel( files.map(function(file) { - var filename = path.join(inputDir, file); + let filename = path.join(inputDir, file); return function(cb) { fs.stat(filename, function(err, stats) { if (err) { @@ -216,7 +216,7 @@ function main(inputDir, callback) { }, // Figure out which files have already been processed function(allImageFiles, cb) { - var tasks = allImageFiles + let tasks = allImageFiles .filter(function(filename) { return filename; }) @@ -256,7 +256,7 @@ function main(inputDir, callback) { } if (module === require.main) { - var generalError = + let generalError = 'Usage: node textDetection ...\n\n' + '\tCommands: analyze, lookup'; if (process.argv.length < 3) { @@ -264,8 +264,8 @@ if (module === require.main) { // eslint-disable-next-line no-process-exit process.exit(1); } - var args = process.argv.slice(2); - var command = args.shift(); + let args = process.argv.slice(2); + let command = args.shift(); if (command === 'analyze') { if (!args.length) { console.log('Usage: node textDetection analyze '); diff --git a/src/helpers.js b/src/helpers.js index 0b2ec35f..e6119cc0 100644 --- a/src/helpers.js +++ b/src/helpers.js @@ -102,7 +102,7 @@ let _coerceRequest = (request, callback) => { * @returns {function} The function that, when called, will call annotateImage * asking for the single feature annotation. */ -var _createSingleFeatureMethod = featureValue => { +let _createSingleFeatureMethod = featureValue => { return function(annotateImageRequest, callOptions, callback) { // Sanity check: If we got a string or buffer, we need this to be // in object form now, so we can tack on the features list. @@ -152,7 +152,7 @@ var _createSingleFeatureMethod = featureValue => { * onto the pure GAPIC. */ module.exports = apiVersion => { - var methods = {}; + let methods = {}; /** * Annotate a single image with the requested features. @@ -236,7 +236,7 @@ module.exports = apiVersion => { // We are guaranteed to only have one response element, since we // only sent one image. - var response = r.responses[0]; + let response = r.responses[0]; // Fire the callback if applicable. return callback(undefined, response); diff --git a/system-test/image_annotator_smoke_test.js b/system-test/image_annotator_smoke_test.js index 7784e0aa..2c0808d2 100644 --- a/system-test/image_annotator_smoke_test.js +++ b/system-test/image_annotator_smoke_test.js @@ -18,31 +18,31 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - var client = new vision.v1p3beta1.ImageAnnotatorClient({ + let client = new vision.v1p3beta1.ImageAnnotatorClient({ // optional auth parameters. }); - var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - var source = { + let gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + let source = { gcsImageUri: gcsImageUri, }; - var image = { + let image = { source: source, }; - var type = 'FACE_DETECTION'; - var featuresElement = { + let type = 'FACE_DETECTION'; + let featuresElement = { type: type, }; - var features = [featuresElement]; - var requestsElement = { + let features = [featuresElement]; + let requestsElement = { image: image, features: features, }; - var requests = [requestsElement]; + let requests = [requestsElement]; client .batchAnnotateImages({requests: requests}) .then(responses => { - var response = responses[0]; + let response = responses[0]; console.log(response); }) .then(done) diff --git a/system-test/vision-v1p2beta1.js b/system-test/vision-v1p2beta1.js index c3f91aba..e3978371 100644 --- a/system-test/vision-v1p2beta1.js +++ b/system-test/vision-v1p2beta1.js @@ -18,31 +18,31 @@ describe('ImageAnnotatorSmokeTest', () => { it('successfully makes a call to the service', done => { const vision = require('../src'); - var client = new vision.v1p2beta1.ImageAnnotatorClient({ + let client = new vision.v1p2beta1.ImageAnnotatorClient({ // optional auth parameters. }); - var gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; - var source = { + let gcsImageUri = 'gs://gapic-toolkit/President_Barack_Obama.jpg'; + let source = { gcsImageUri: gcsImageUri, }; - var image = { + let image = { source: source, }; - var type = 'FACE_DETECTION'; - var featuresElement = { + let type = 'FACE_DETECTION'; + let featuresElement = { type: type, }; - var features = [featuresElement]; - var requestsElement = { + let features = [featuresElement]; + let requestsElement = { image: image, features: features, }; - var requests = [requestsElement]; + let requests = [requestsElement]; client .batchAnnotateImages({requests: requests}) .then(responses => { - var response = responses[0]; + let response = responses[0]; console.log(response); }) .then(done) diff --git a/system-test/vision.js b/system-test/vision.js index 7b62f232..6b661ee4 100644 --- a/system-test/vision.js +++ b/system-test/vision.js @@ -80,30 +80,30 @@ describe('Vision', function() { }); it('should detect from a URL', () => { - var url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; + let url = 'https://upload.wikimedia.org/wikipedia/commons/5/51/Google.png'; return client.logoDetection(url).then(responses => { - var response = responses[0]; + let response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); it('should detect from a filename', () => { return client.logoDetection(IMAGES.logo).then(responses => { - var response = responses[0]; + let response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); it('should detect from a Buffer', () => { - var buffer = fs.readFileSync(IMAGES.logo); + let buffer = fs.readFileSync(IMAGES.logo); return client.logoDetection(buffer).then(responses => { - var response = responses[0]; + let response = responses[0]; assert.deepStrictEqual(response.logoAnnotations[0].description, 'Google'); }); }); describe('single image', () => { - var TYPES = [ + let TYPES = [ {type: 'FACE_DETECTION'}, {type: 'LABEL_DETECTION'}, {type: 'SAFE_SEARCH_DETECTION'}, @@ -115,7 +115,7 @@ describe('Vision', function() { image: {source: {filename: IMAGES.rushmore}}, }) .then(responses => { - var response = responses[0]; + let response = responses[0]; assert(response.faceAnnotations.length >= 1); assert(response.labelAnnotations.length >= 1); assert(response.safeSearchAnnotation !== null); diff --git a/test/helpers.test.js b/test/helpers.test.js index 8c83fe6d..ed270421 100644 --- a/test/helpers.test.js +++ b/test/helpers.test.js @@ -193,7 +193,7 @@ describe('Vision helper methods', () => { // Ensure that the annotateImage method arrifies the request and // passes it through to the batch annotation method. - var request = { + let request = { image: {content: Buffer.from('bogus==')}, features: {type: ['LOGO_DETECTION']}, };