From eec031d630176a09648a3b38c8eb3cdcd8093229 Mon Sep 17 00:00:00 2001 From: Rob4226 Date: Fri, 13 Aug 2021 13:16:59 -0400 Subject: [PATCH] fix: allow --force to be optional Still adds --force by default but adds a 'force' option that when set to false, disables adding the --force flag. --- packages/nx/src/builders/build/builder.ts | 8 +++++--- packages/nx/src/builders/build/schema.d.ts | 3 ++- packages/nx/src/builders/build/schema.json | 7 ++++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/nx/src/builders/build/builder.ts b/packages/nx/src/builders/build/builder.ts index e13650cc7..5f9a0a406 100644 --- a/packages/nx/src/builders/build/builder.ts +++ b/packages/nx/src/builders/build/builder.ts @@ -156,14 +156,16 @@ export function runBuilder(options: BuildBuilderSchema, context: ExecutorContext nsOptions.push('--copy-to'); nsOptions.push(options.copyTo); } - + if (fileReplacements.length) { // console.log('fileReplacements:', fileReplacements); nsOptions.push('--env.replace'); nsOptions.push(fileReplacements.join(',')); } - // always add --force for now since within Nx we use @nativescript/webpack at root only and the {N} cli shows a blocking error if not within the app - nsOptions.push('--force'); + // always add --force (unless explicity set to false) for now since within Nx we use @nativescript/webpack at root only and the {N} cli shows a blocking error if not within the app + if (options?.force !== false) { + nsOptions.push('--force'); + } } // console.log('command:', [`ns`, ...nsOptions, ...additionalCliFlagArgs].join(' ')); // console.log('command:', [`ns`, ...nsOptions].join(' ')); diff --git a/packages/nx/src/builders/build/schema.d.ts b/packages/nx/src/builders/build/schema.d.ts index 6000621aa..dd2511c2a 100644 --- a/packages/nx/src/builders/build/schema.d.ts +++ b/packages/nx/src/builders/build/schema.d.ts @@ -13,6 +13,7 @@ export interface BuildBuilderSchema extends JsonObject { production?: boolean; platform?: 'ios' | 'android'; copyTo?: string; + force?: boolean; // ios only provision?: string; @@ -23,4 +24,4 @@ export interface BuildBuilderSchema extends JsonObject { keyStorePassword?: string; keyStoreAlias?: string; keyStoreAliasPassword?: string; -} +} diff --git a/packages/nx/src/builders/build/schema.json b/packages/nx/src/builders/build/schema.json index 85c865f5e..52f839025 100644 --- a/packages/nx/src/builders/build/schema.json +++ b/packages/nx/src/builders/build/schema.json @@ -86,7 +86,12 @@ "type": "boolean", "default": false, "description": "Do a full project clean" + }, + "force": { + "type": "boolean", + "default": true, + "description": "If true, skips the application compatibility checks and forces npm i to ensure all dependencies are installed. Otherwise, the command will check the application compatibility with the current CLI version and could fail requiring ns migrate." } }, "required": [] -} \ No newline at end of file +}