From 82b63a524b4bd746b2e4dccea5b2cb6cc560bc2c Mon Sep 17 00:00:00 2001 From: davidwells Date: Thu, 25 May 2017 20:46:59 -0700 Subject: [PATCH] remove file creation from slsStats and use serverlessRC instead --- lib/plugins/slstats/slstats.js | 49 ++++++++++------------------------ 1 file changed, 14 insertions(+), 35 deletions(-) diff --git a/lib/plugins/slstats/slstats.js b/lib/plugins/slstats/slstats.js index ac0dd688a..fe09af180 100644 --- a/lib/plugins/slstats/slstats.js +++ b/lib/plugins/slstats/slstats.js @@ -1,10 +1,7 @@ 'use strict'; -const path = require('path'); -const fse = require('fs-extra'); -const os = require('os'); const userStats = require('../../utils/userStats'); -const setConfig = require('../../utils/config').set; +const config = require('../../utils/config'); class SlStats { constructor(serverless, options) { @@ -35,41 +32,23 @@ class SlStats { }; } - createStatsFile(oldPath, newPath) { - const oldFileExists = this.serverless.utils.fileExistsSync(oldPath); - const newFileExists = this.serverless.utils.fileExistsSync(newPath); - const isFileToBeRenamed = !newFileExists && oldFileExists; - const isFileToBeCreated = !newFileExists; - if (isFileToBeRenamed) { - fse.renameSync(oldPath, newPath); - } else if (isFileToBeCreated) { - this.serverless.utils.writeFileSync(newPath); - } - } - toggleStats() { try { - const serverlessDirPath = path.join(os.homedir(), '.serverless'); - const statsDisabledFilePath = path.join(serverlessDirPath, 'stats-disabled'); - const statsEnabledFilePath = path.join(serverlessDirPath, 'stats-enabled'); - const isStatsEnabled = this.options.enable && !this.options.disable; - const isStatsDisabled = this.options.disable && !this.options.enable; - if (isStatsEnabled) { - // stats file to be depricated in future release - this.createStatsFile(statsDisabledFilePath, statsEnabledFilePath); - // set new `trackingDisabled` key in .serverlessrc config - userStats.track('user_enabledTracking', { force: true }).then(() => { - setConfig('trackingDisabled', false); + const enableStats = this.options.enable && !this.options.disable; + const disabledStats = this.options.disable && !this.options.enable; + const data = { force: true }; + if (enableStats) { + userStats.track('user_enabledTracking', data).then(() => { + // set .serverlessrc config + config.set('trackingDisabled', false); + this.serverless.cli.log('Stats successfully enabled'); }); - this.serverless.cli.log('Stats successfully enabled'); - } else if (isStatsDisabled) { - // stats file to be depricated in future release - this.createStatsFile(statsEnabledFilePath, statsDisabledFilePath); - // set new `trackingDisabled` key in .serverlessrc config - userStats.track('user_disabledTracking', { force: true }).then(() => { - setConfig('trackingDisabled', true); + } else if (disabledStats) { + userStats.track('user_disabledTracking', data).then(() => { + // set .serverlessrc config + config.set('trackingDisabled', true); + this.serverless.cli.log('Stats successfully disabled'); }); - this.serverless.cli.log('Stats successfully disabled'); } } catch (error) { throw new this.serverless.classes