Skip to content

Outdated CLI Flags in Documentation for @nativescript/nx Version 20 #80

Open
@mamadshni

Description

@mamadshni

After updating @nativescript/nx from version 18 to version 20, I noticed that the executor interface has changed, and some command-line flags are no longer recognized as before. Specifically, options like --aab, --key-store-path, and --provision are now nested under platform-specific objects (android, ios, etc.) and require a different syntax when used in build commands.

However, the current documentation still reflects the old interface, which can lead to confusion and build failures for developers upgrading to version 20.

Current Documentation Examples (Outdated):

For Android:

npx nx build <app-name> android --c=prod \
  --aab \
  --key-store-path=<path-to-your-keystore> \
  --key-store-password=<your-key-store-password> \
  --key-store-alias=<your-alias-name> \
  --key-store-alias-password=<your-alias-password> \
  --copyTo=./dist/build.aab

For IOS:

npx nx build <app-name> ios --c=prod \
  --provision <provisioning-profile-name> \
  --copy-to ./dist/build.ipa

Issue:

With the updated executor schema in version 20, these flags are nested inside of android and IOS object:

export interface ExecutorSchema extends BaseSchema, BuildSchema, DebugSchema, PrepareSchema, RunSchema, TestSchema {
    android: AndroidSchema;
    ios: IosSchema;
    visionos: visionOSSchema;
}

export interface AndroidSchema {
    aab: boolean;
    keyStoreAlias: string;
    keyStoreAliasPassword: string;
    keyStorePassword: string;
    keyStorePath: string;
    xmlUpdates: Record<string, any>;
}

export interface IosSchema {
    plistUpdates: Record<string, any>;
    provision: string;
}

Proposed Documentation Update:

For Android:

npx nx build <app-name> android --c=prod \
  --android.aab=true \
  --android.keyStorePath=<path-to-your-keystore> \
  --android.keyStorePassword=<your-key-store-password> \
  --android.keyStoreAlias=<your-alias-name> \
  --android.keyStoreAliasPassword=<your-alias-password> \
  --copyTo=./dist/build.aab

For iOS:

npx nx build <app-name> ios --c=prod \
  --ios.provision=<provisioning-profile-name> \
  --copyTo=./dist/build.ipa

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions