From 0aba514462ce94c0c6ea44a0dcb0defacacc5595 Mon Sep 17 00:00:00 2001 From: Amplifiyer <51211245+Amplifiyer@users.noreply.github.com> Date: Thu, 23 Mar 2023 18:07:04 +0100 Subject: [PATCH] fix: all floating promises (#12293) * fix: all floating promises * fix: make arrow functions async that have awaits --- .../provider-utils/awscloudformation/index.ts | 4 ++-- .../src/hosting/cicd/enable.js | 2 -- .../src/hosting/cicd/index.js | 5 ++--- .../src/hosting/cicd/initEnv.js | 3 +-- .../src/hosting/index.js | 10 ++++------ .../src/hosting/manual/enable.js | 1 - .../src/hosting/manual/index.js | 9 ++++----- .../src/hosting/manual/initEnv.js | 1 - .../src/hosting/manual/publish.js | 6 ++++-- .../src/utils/amplify-context-utils.js | 3 --- .../src/utils/config-utils.js | 7 +++---- .../src/aws-utils/aws-cfn.js | 19 ++++++++++--------- 12 files changed, 30 insertions(+), 40 deletions(-) diff --git a/packages/amplify-category-storage/src/provider-utils/awscloudformation/index.ts b/packages/amplify-category-storage/src/provider-utils/awscloudformation/index.ts index c77dfb9de3a..dc4f68e11ed 100644 --- a/packages/amplify-category-storage/src/provider-utils/awscloudformation/index.ts +++ b/packages/amplify-category-storage/src/provider-utils/awscloudformation/index.ts @@ -183,7 +183,7 @@ export const console = async (amplifyMeta: $TSMeta, provider: string, service: s } const { BucketName: bucket, Region: region } = s3Resource.output; const url = `https://s3.console.aws.amazon.com/s3/buckets/${bucket}?region=${region}`; - open(url, { wait: false }); + await open(url, { wait: false }); } else if (service === AmplifySupportedService.DYNAMODB) { type Pickchoice = { name: string; value: { tableName: string; region: string } }; const tables: Pickchoice[] = Object.values(amplifyMeta[categoryName]) @@ -199,6 +199,6 @@ export const console = async (amplifyMeta: $TSMeta, provider: string, service: s } const { tableName, region } = await prompter.pick<'one', Pickchoice['value']>('Select DynamoDB table to open on your browser', tables); const url = `https://${region}.console.aws.amazon.com/dynamodbv2/home?region=${region}#table?name=${tableName}&tab=overview`; - open(url, { wait: false }); + await open(url, { wait: false }); } }; diff --git a/packages/amplify-console-hosting/src/hosting/cicd/enable.js b/packages/amplify-console-hosting/src/hosting/cicd/enable.js index c78972add52..f606a6a0b49 100644 --- a/packages/amplify-console-hosting/src/hosting/cicd/enable.js +++ b/packages/amplify-console-hosting/src/hosting/cicd/enable.js @@ -1,5 +1,3 @@ -// TODO disable lint until file is converted to TS -/* eslint-disable */ const { open } = require('amplify-cli-core'); const fs = require('fs-extra'); const utils = require('../../utils/amplify-context-utils'); diff --git a/packages/amplify-console-hosting/src/hosting/cicd/index.js b/packages/amplify-console-hosting/src/hosting/cicd/index.js index 438f53222b3..3e98e7eb6e7 100644 --- a/packages/amplify-console-hosting/src/hosting/cicd/index.js +++ b/packages/amplify-console-hosting/src/hosting/cicd/index.js @@ -1,6 +1,5 @@ -/* eslint-disable */ const enableMod = require('./enable'); -const publshMod = require('./publish'); +const publishMod = require('./publish'); const initMod = require('./initEnv'); const serveMod = require('./serve'); const configureMod = require('./configure'); @@ -10,7 +9,7 @@ async function enable(context) { } async function publish(context) { - await publshMod.publish(context); + await publishMod.publish(context); } async function initEnv(context) { diff --git a/packages/amplify-console-hosting/src/hosting/cicd/initEnv.js b/packages/amplify-console-hosting/src/hosting/cicd/initEnv.js index 599b56afe64..d7624e5c8b1 100644 --- a/packages/amplify-console-hosting/src/hosting/cicd/initEnv.js +++ b/packages/amplify-console-hosting/src/hosting/cicd/initEnv.js @@ -1,4 +1,3 @@ -/* eslint-disable */ const constants = require('../../constants/plugin-constants'); const configUtils = require('../../utils/config-utils'); const utils = require('../../utils/amplify-context-utils'); @@ -16,7 +15,7 @@ async function initEnv(context) { context.amplify.updateamplifyMetaAfterResourceUpdate(category, resourceName, type, constants.TYPE_CICD); const metaContent = utils.getMetaInfo(context); const { lastPushTimeStamp } = metaContent[category][resourceName]; - configUtils.initCurrBackendMeta(context, category, resourceName, type, lastPushTimeStamp); + await configUtils.initCurrBackendMeta(context, category, resourceName, type, lastPushTimeStamp); } module.exports = { diff --git a/packages/amplify-console-hosting/src/hosting/index.js b/packages/amplify-console-hosting/src/hosting/index.js index 8fda38ef11e..12bb4661eeb 100644 --- a/packages/amplify-console-hosting/src/hosting/index.js +++ b/packages/amplify-console-hosting/src/hosting/index.js @@ -1,5 +1,4 @@ -// disabling eslint until this file is migrated to TS -/* eslint-disable */ +/* eslint-disable spellcheck/spell-checker */ const constants = require('../constants/plugin-constants'); const pathManager = require('../utils/path-manager'); const fs = require('fs-extra'); @@ -8,7 +7,7 @@ const configUtils = require('../utils/config-utils'); const questions = require('../modules/questions/question-generator'); const ValidationError = require('../error/validation-error').default; const clientFactory = require('../utils/client-factory'); -const tableUtis = require('../utils/table-utils'); +const tableUtils = require('../utils/table-utils'); const { ensureEnvParamManager } = require('@aws-amplify/amplify-environment-parameters'); const { spinner } = require('amplify-cli-core'); @@ -63,7 +62,7 @@ async function initEnv(context) { // hosting is deleted. But current env config is not cleaned const { type } = consoleConfig; // clean team provider info - await configUtils.deleteHostingEnvParams(context); + await configUtils.deleteHostingEnvParams(); // clean #current-backend-env for CICD. if (type === constants.TYPE_CICD) { await configUtils.deleteConsoleConfigFromCurrMeta(context); @@ -133,7 +132,7 @@ async function status(context, mute) { } const appId = utils.getAppIdForCurrEnv(context); - await tableUtis.generateTableContentForApp(context, appId); + await tableUtils.generateTableContentForApp(context, appId); } function loadDeployType(context) { @@ -184,4 +183,3 @@ module.exports = { configure, status, }; -/* eslint-enable */ diff --git a/packages/amplify-console-hosting/src/hosting/manual/enable.js b/packages/amplify-console-hosting/src/hosting/manual/enable.js index 13e43a76234..2c835af3f1c 100644 --- a/packages/amplify-console-hosting/src/hosting/manual/enable.js +++ b/packages/amplify-console-hosting/src/hosting/manual/enable.js @@ -1,4 +1,3 @@ -/* eslint-disable */ const path = require('path'); const constants = require('../../constants/plugin-constants'); const configUtils = require('../../utils/config-utils'); diff --git a/packages/amplify-console-hosting/src/hosting/manual/index.js b/packages/amplify-console-hosting/src/hosting/manual/index.js index 6fe0bd5f9c2..9943ee6f586 100644 --- a/packages/amplify-console-hosting/src/hosting/manual/index.js +++ b/packages/amplify-console-hosting/src/hosting/manual/index.js @@ -1,16 +1,15 @@ -/* eslint-disable */ const enableMod = require('./enable'); -const publshMod = require('./publish'); +const publishMod = require('./publish'); const initMod = require('./initEnv'); const serveMod = require('./serve'); const configureMod = require('./configure'); -function enable(context) { - enableMod.enable(context); +async function enable(context) { + await enableMod.enable(context); } async function publish(context, doSkipBuild, doSkipPush) { - await publshMod.publish(context, doSkipBuild, doSkipPush); + await publishMod.publish(context, doSkipBuild, doSkipPush); } async function initEnv(context) { diff --git a/packages/amplify-console-hosting/src/hosting/manual/initEnv.js b/packages/amplify-console-hosting/src/hosting/manual/initEnv.js index 895f1a04887..36f8544b82e 100644 --- a/packages/amplify-console-hosting/src/hosting/manual/initEnv.js +++ b/packages/amplify-console-hosting/src/hosting/manual/initEnv.js @@ -1,4 +1,3 @@ -/* eslint-disable */ const constants = require('../../constants/plugin-constants'); const configUtils = require('../../utils/config-utils'); diff --git a/packages/amplify-console-hosting/src/hosting/manual/publish.js b/packages/amplify-console-hosting/src/hosting/manual/publish.js index 7bbcefd9052..e5450c01ec1 100644 --- a/packages/amplify-console-hosting/src/hosting/manual/publish.js +++ b/packages/amplify-console-hosting/src/hosting/manual/publish.js @@ -24,10 +24,12 @@ async function publish(context, doSkipBuild, doSkipPush) { const appId = utils.getAppIdForCurrEnv(context); const env = utils.getCurrEnv(context); spinner.start(ZIPPING_MESSAGE); - artifactsPath = await zipArtifacts(context).catch((err) => { + try { + artifactsPath = await zipArtifacts(context); + } catch (err) { spinner.fail(ZIPPING_FAILURE_MESSAGE); throw err; - }); + } spinner.succeed(ZIPPING_SUCCESS_MESSAGE); await amplifyUtils.publishFileToAmplify(appId, env, artifactsPath, amplifyClient); context.print.info(amplifyUtils.getDefaultDomainForBranch(appId, env)); diff --git a/packages/amplify-console-hosting/src/utils/amplify-context-utils.js b/packages/amplify-console-hosting/src/utils/amplify-context-utils.js index 0ca32df2c7a..711c74a47f1 100644 --- a/packages/amplify-console-hosting/src/utils/amplify-context-utils.js +++ b/packages/amplify-console-hosting/src/utils/amplify-context-utils.js @@ -1,5 +1,3 @@ -// disabling eslint until this file is migrated to TS -/* eslint-disable */ const constants = require('../constants/plugin-constants'); const pathManager = require('../utils/path-manager'); const fs = require('fs-extra'); @@ -48,4 +46,3 @@ module.exports = { getRegionForCurrEnv, getMetaInfo, }; -/* eslint-enable */ diff --git a/packages/amplify-console-hosting/src/utils/config-utils.js b/packages/amplify-console-hosting/src/utils/config-utils.js index 000707fc475..cac8004ead4 100644 --- a/packages/amplify-console-hosting/src/utils/config-utils.js +++ b/packages/amplify-console-hosting/src/utils/config-utils.js @@ -1,5 +1,4 @@ -// disabling eslint until this file is migrated to TS -/* eslint-disable */ +/* eslint-disable spellcheck/spell-checker */ const fs = require('fs-extra'); const path = require('path'); const { pathManager, PathConstants, stateManager } = require('amplify-cli-core'); @@ -110,8 +109,7 @@ async function deleteConsoleConfigFromCurrMeta(context) { await storeCurrentCloudBackend(context); } -async function deleteHostingEnvParams(context) { - const categories = constants.CATEGORIES; +async function deleteHostingEnvParams() { const category = constants.CATEGORY; const resourceName = constants.CONSOLE_RESOURCE_NAME; @@ -169,6 +167,7 @@ async function storeCurrentCloudBackend(context) { } } +// eslint-disable-next-line consistent-return async function uploadFile(s3, filePath, key) { if (fs.existsSync(filePath)) { const s3Params = { diff --git a/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js b/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js index 41f19bbac46..092430fce11 100644 --- a/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js +++ b/packages/amplify-provider-awscloudformation/src/aws-utils/aws-cfn.js @@ -117,7 +117,7 @@ class CloudFormation { // add root stack to see the new stacks this.readStackEvents(stackName); // wait for the poll queue to drain - return new Promise((resolve) => { + return new Promise((resolve, reject) => { this.pollQueue.once('empty', () => { const failedStacks = this.stackEvents.filter((ev) => CNF_ERROR_STATUS.includes(ev.ResourceStatus)); @@ -130,7 +130,7 @@ class CloudFormation { }); resolve(collectStackErrorMessages(this.filterFailedStackEvents(failedStacks))); } catch (e) { - Promise.reject(e); + reject(e); } finally { if (this.pollForEvents) { clearTimeout(this.pollForEvents); @@ -397,20 +397,21 @@ class CloudFormation { } return reject(updateErr); } - cfnModel.waitFor(cfnCompleteStatus, cfnStackCheckParams, (completeErr) => { + cfnModel.waitFor(cfnCompleteStatus, cfnStackCheckParams, async (completeErr) => { if (self.pollForEvents) { clearTimeout(self.pollForEvents); } this.progressBar?.stop(); if (completeErr) { - this.collectStackErrors(cfnParentStackParams.StackName).then((errorDetails) => { + await this.collectStackErrors(cfnParentStackParams.StackName).then((errorDetails) => { completeErr.details = errorDetails; reject(completeErr); }); } else { self.context.usageData.calculatePushNormalizationFactor(this.stackEvents, stackId); - return self.updateamplifyMetaFileWithStackOutputs(stackName).then(() => resolve()); + await self.updateamplifyMetaFileWithStackOutputs(stackName); + return resolve(); } }); }); @@ -563,12 +564,12 @@ class CloudFormation { const log = logger('listExports.cfn.listExports', [{ NextToken: nextToken }]); return new Promise((resolve, reject) => { log(); - this.cfn.listExports(nextToken ? { NextToken: nextToken } : {}, (err, data) => { + this.cfn.listExports(nextToken ? { NextToken: nextToken } : {}, async (err, data) => { if (err) { log(err); reject(err); } else if (data.NextToken) { - this.listExports(data.NextToken).then((innerExports) => resolve([...data.Exports, ...innerExports])); + await this.listExports(data.NextToken).then((innerExports) => resolve([...data.Exports, ...innerExports])); } else { resolve(data.Exports); } @@ -644,10 +645,10 @@ class CloudFormation { console.log(`Error deleting stack ${stackName}`); return reject(deleteErr); } - cfnModel.waitFor(cfnDeleteStatus, cfnStackParams, (completeErr) => { + cfnModel.waitFor(cfnDeleteStatus, cfnStackParams, async (completeErr) => { if (err) { console.log(`Error deleting stack ${stackName}`); - this.collectStackErrors(stackName).then((errorDetails) => { + await this.collectStackErrors(stackName).then((errorDetails) => { completeErr.details = errorDetails; reject(completeErr); });