Skip to content

[Maintenance] Remove deprecated iosRelativeProjectPath option #2670

@ConnorQi01

Description

@ConnorQi01

Summary

The iosRelativeProjectPath launch option has been deprecated in favour of runArguments for several major versions. The deprecation warning is already shown at runtime, the field is absent from package.json contributes (so users cannot set it via IntelliSense), and a // TODO Remove deprecated comment in launchArgs.ts marks it for removal. The dead code path and its i18n strings should now be deleted.

Why this is useful

Removing the field eliminates a dead code branch in iOSPlatform.ts (constructor + getRunArguments), shrinks the IIOSRunOptions interface, and removes 10+ i18n translation strings that will never be shown to new users. It also removes the risk of the deprecated path silently masking a misconfigured runArguments setup.

Suggested scope

  • Delete iosRelativeProjectPath from src/extension/launchArgs.ts:60
  • Remove the two usage sites in src/extension/ios/iOSPlatform.ts (lines 69–74 and 330–331) and the fallback at line 87
  • Delete the iosRelativeProjectPathOptionIsDeprecatedUseRunArgumentsInstead key from all i18n/*/src/extension/ios/iOSPlatform.i18n.json files
  • Verify no package.json contributes entry exists (already confirmed absent)

Evidence

  • src/extension/launchArgs.ts:60iosRelativeProjectPath?: string; // TODO Remove deprecated
  • src/extension/ios/iOSPlatform.ts:69–74 — deprecation warning branch
  • src/extension/ios/iOSPlatform.ts:87 — fallback || this.runOptions.iosRelativeProjectPath
  • src/extension/ios/iOSPlatform.ts:330–331runArguments.push("--project-path", ...) branch
  • 10 i18n/*/iOSPlatform.i18n.json files each contain the deprecated key
  • package.json contributes has no iosRelativeProjectPath entry — the option is already invisible to users

Validation

  • npm test passes with no reference to iosRelativeProjectPath
  • TypeScript compilation succeeds with the field removed from the interface

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions