cordova-common
cordova-common copied to clipboard
feat: Support finding an unprefixed Info.plist file
Platforms affected
iOS
Motivation and Context
Currently the Info.plist file in a generated iOS project is prefixed with the project name (i.e., HelloCordova-Info.plist), and plugins have to set up their config-file/edit-config directives to use wildcards like **/*-Info.plist.
The standard way for Xcode projects is to just have Info.plist in the project, and this gets us one step closer to supporting that.
Description
- Try to find an unprefixed Info.plist, falling back to the AppName-Info.plist
- Cache the result of the Xcodeproj name to avoid repeated globs
- Streamline plist loading to avoid reading the file twice
- This allows us to drop the read-chunks dependency in next major
Testing
Added a new test for the Info.plist behaviour. All existing tests pass.
Checklist
- [x] I've run the tests to see all new and existing tests pass
- [x] I added automated test coverage as appropriate for this change
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 94.62%. Comparing base (fe09756) to head (84a96f8).
:warning: Report is 9 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #212 +/- ##
==========================================
+ Coverage 93.86% 94.62% +0.76%
==========================================
Files 20 20
Lines 4008 4021 +13
==========================================
+ Hits 3762 3805 +43
+ Misses 246 216 -30
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.