From 52448f74039a3551580055bf1e3ef1b590056b09 Mon Sep 17 00:00:00 2001 From: axeman Date: Thu, 11 Nov 2021 11:49:36 -0500 Subject: [PATCH] fix(cli): add noUpdateBackend cli argument for pull and add headless pull sample Adds an option to the cli when using the pull option that lets you specify not to update the backend to be able to generate aws-exports.js. This is an alternative to yes option which defaults to modifying the backend and is good for frontend custom CICD deployments. re #7468 --- .../sample-headless-scripts/headless_pull.sh | 36 +++++++++++++++++++ packages/amplify-cli/src/attach-backend.ts | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 packages/amplify-cli/sample-headless-scripts/headless_pull.sh diff --git a/packages/amplify-cli/sample-headless-scripts/headless_pull.sh b/packages/amplify-cli/sample-headless-scripts/headless_pull.sh new file mode 100644 index 00000000000..c09c7b82e27 --- /dev/null +++ b/packages/amplify-cli/sample-headless-scripts/headless_pull.sh @@ -0,0 +1,36 @@ +!/bin/bash + +set -e +IFS='|' + +REACTCONFIG="{\ +\"SourceDir\":\"src\",\ +\"DistributionDir\":\"build\",\ +\"BuildCommand\":\"npm run-script build\",\ +\"StartCommand\":\"npm run-script start\"\ +}" +AWSCLOUDFORMATIONCONFIG="{\ +\"configLevel\":\"project\",\ +\"useProfile\":true,\ +\"profileName\":\"default\",\ +}" +AMPLIFY="{\ +\"projectName\":\"headlessProjectName\",\ +\"defaultEditor\":\"code\"\ +}" +FRONTEND="{\ +\"frontend\":\"javascript\",\ +\"framework\":\"react\",\ +\"config\":$REACTCONFIG\ +}" +PROVIDERS="{\ +\"awscloudformation\":$AWSCLOUDFORMATIONCONFIG\ +}" + +amplify pull \ +--appId myappId \ +--envName mydevabc \ +--amplify $AMPLIFY \ +--frontend $FRONTEND \ +--providers $PROVIDERS \ +--noUpdateBackend \ No newline at end of file diff --git a/packages/amplify-cli/src/attach-backend.ts b/packages/amplify-cli/src/attach-backend.ts index a18ce3ed7f0..e6b69ac35bf 100644 --- a/packages/amplify-cli/src/attach-backend.ts +++ b/packages/amplify-cli/src/attach-backend.ts @@ -61,7 +61,7 @@ async function onSuccess(context: $TSContext) { if (!inputParams.yes) { const shouldKeepAmplifyDir = context.exeInfo.existingLocalEnvInfo?.noUpdateBackend ? !context.exeInfo.existingLocalEnvInfo.noUpdateBackend - : await context.amplify.confirmPrompt('Do you plan on modifying this backend?', true); + : !inputParams.noUpdateBackend && (await context.amplify.confirmPrompt('Do you plan on modifying this backend?', true)); if (shouldKeepAmplifyDir) { if (stateManager.currentMetaFileExists()) {