Commit graph

1334 commits

Author SHA1 Message Date
Ross Goldberg
a5c8957fc9
Refactor Downloader & SSPurchase to no longer need StoreAccount.
Move towards better purchase encapsulation: all purchase logic will eventually be in the `perform(…)` function, not in convenience constructor, to ensure the correct values are used when `perform(…)` is called, instead of values that were correct sometime before the call.

Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:59:14 -04:00
Ross Goldberg
d2f2d3edff
ISStoreAccount static functions return ISStoreAccount instead of StoreAccount.
Add `var dsID` to `StoreAccount` so functions can use `StoreAccount` without casting to `ISStoreAccount`.

Simplify code.

Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:57:45 -04:00
Ross Goldberg
8e671f2624
Improve Account, SignIn, SignOut & ISStoreAccount extension & associated code.
Prevent `ISAccountService.signIn(with:)` deprecation warning.

Improve macOS version handling encapsulation.

Output error if `StoreAccount.signin(…)` provides a `nil` `ISStoreAccount`.

Improve `signin` `"Already Signed In" error output.

Remove unnecessary output.

Simplify code.

Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:56:50 -04:00
Ross Goldberg
d6087ce288
Update README.md.
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-08 23:34:14 -04:00
Ross Goldberg
5676dcb797
Re-enable purchase.
`purchase` seems to work on macOS 12+.

Resolve #289

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-06 03:13:10 -04:00
Ross Goldberg
466ea67194
Improve scripts: bootstrap, build, format, lint, test & version.
Allow them to be run from any directory.

Call version from lint & test to create Package.swift with version info.

Fail when accessing unset variables.

Improve variable names.

Fix lint issues.

Improve lint & format scripts.

Don't require user input to continue linting.

Much cleaner lint output.

Reorder lint output.

Get swift-format from Brewfile instead of from Package.swift:

 - Speeds up linting.
 - Properly models dependency (not a code dependency).
 - swift-format depends on an old version of swift-argument-parser. Will refactor to use SAP soon.

Include some improvements from 1.8.7 PR.

Other scripts need improvement, too.

Resolve #545

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 20:33:45 -04:00
Ross Goldberg
b400422f4a
outdated checks if new app version requires newer macOS for all kinds of apps, not just mac-software.
Resolve #540

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 20:28:49 -04:00
Ross Goldberg
7e9e3ba168
Output to stderr responses from Apple endpoints that are unparsable as JSON
Resolves #536

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:50:52 -04:00
Ross Goldberg
d9780b8768
Fix incorrect function comment
Resolves #538

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:43:15 -04:00
Ross Goldberg
47f4b5c0da
Fix typos in comments
Resolves #538

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:43:15 -04:00
Ross Goldberg
7132e7eed9
Fix typos in documentation
Partial #538

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:43:15 -04:00
Ross Goldberg
5c11f9afb7
Git ignore JetBrains IntelliJ IDEA config directory.
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:36:45 -04:00
Ross Goldberg
622a154fb9
Merge pull request #548 from rgoldberg/546-lint
Fix breaking lint issue in MasStoreSearch.swift.
2024-10-05 19:08:44 -04:00
Ross Goldberg
fa7bdea029
Fix breaking lint issue in MasStoreSearch.swift.
Resolve #546

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 18:52:06 -04:00
Ben Chatelain
81aa71bc76
Merge pull request #517 from mas-cli/add-homebrew-audit-exceptions
Add all versions of mas to the Homebrew prerelease allow list
2024-07-29 17:01:51 -06:00
Tony Arnold
3484d25e7b
Disable non_optional_string_data_conversion SwiftLint rule 2024-07-01 18:35:08 +10:00
Tony Arnold
5ac95c40d2
Add all versions of mas to the Homebrew prerelease allow list 2024-07-01 12:49:08 +10:00
Ross Goldberg
763392cb23
Merge pull request #500 from mas-cli/dependabot/github_actions/actions/checkout-4
⬆️(deps): Bump actions/checkout from 3 to 4
2024-02-18 08:38:16 -05:00
dependabot[bot]
f761f1262c ⬆️(deps): Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-18 05:51:45 -05:00
Ben Chatelain
21ed1e641f
Merge pull request #505 from mas-cli/search
🖥️ Only search, outdated and update macOS apps
2024-02-18 00:02:56 -07:00
Ben Chatelain
521df64b51 ♻️ Refactor lookupURL, searchURL
Resolves unused protocol method lint warnings by moving updated implementations back to StoreSearch. Added `country` to MasStoreSearch, set to fixed fvalue for tests.
2024-02-17 23:47:02 -07:00
Ben Chatelain
5aafd4c0aa 🎨 Format swift 2024-02-17 22:58:11 -07:00
Ben Chatelain
22c6c57743 💚 Disable lucky spec: installs the first app matching a search
Stalls test when a MAS auth dialog stalls tests. Need more mocking.
2024-02-17 21:02:28 -07:00
Ben Chatelain
86b25590c7 🩹 Fix merge mistakes 2024-02-17 14:04:01 -07:00
Ben Chatelain
3b8f2de2a4 ⬆️ Update dependencies
- swift-argument-parser (1.3.0)
- swift-format (5.9)
- swift-syntax (0.50700.1)
- swift-tools-support-core (5.9)
2024-02-17 14:04:01 -07:00
Ben Chatelain
c2fcf7e5aa 💡 Document deprecated AccountCommandSpec and SignInCommandSpec 2024-02-17 14:04:01 -07:00
Ben Chatelain
cfc2bef921 🤡 Use mock network response in LuckyCommandSpec 2024-02-17 14:04:01 -07:00
Ben Chatelain
212461caee 💚 Fix purchase test 2024-02-17 14:04:01 -07:00
Chris Araman
a7f8dfea22 👀 Scrape the app page only for lookup, not search 2024-02-17 14:04:01 -07:00
Chris Araman
cfef4aebc4 🔍 Verify command results 2024-02-17 14:04:01 -07:00
Chris Araman
ad8d6fe1dd 🔍 Search for compatible iPad and iPhone apps 2024-02-17 14:04:01 -07:00
Chris Araman
c9378046a6 🦾 Check for Apple Silicon 2024-02-17 14:04:01 -07:00
Chris Araman
844131ff2e ️ Remove impossible error case 2024-02-17 14:04:01 -07:00
Ben Chatelain
f7dd98811f ♻️ Move URL builders to MasStoreSearch 2024-02-17 14:04:01 -07:00
Ben Chatelain
85a31ed5ba
Merge pull request #496 from WangEdward/main
🔧 Check for mac updates only
2024-02-17 11:04:49 -07:00
Ben Chatelain
41a20f11d4
Merge branch 'main' into main 2024-02-17 10:33:11 -07:00
Ben Chatelain
ec503a13e9
Merge pull request #509 from GreyTeardrop/apple-silicon-github-hosted-runner
Apple silicon GitHub hosted runner
2024-02-17 10:32:40 -07:00
Ross Goldberg
e6e2ccab0d Updated swift source by running:
swiftformat Sources Tests
2024-02-05 16:03:51 -05:00
Ross Goldberg
152b324d2d Use swift-format release/5.9 for Swift compiler 5.8+ 2024-02-05 02:52:45 -05:00
Ross Goldberg
1d3af6c96f Changed macos-latest to macos-14 because the former is currently an alias for macos-12 2024-02-04 11:57:23 -05:00
Ross Goldberg
dcc63e05d7 Apple Silicon Github-hosted runner for build-test job 2024-02-04 10:45:38 -05:00
Edward
9116ec1798
🔧 Check for mac update only
Idea from https://github.com/mangerlahn/Latest . Thank you!
2023-11-07 20:09:35 +08:00
Ben Chatelain
4c044d8b64
Merge pull request #477 from mas-cli/errors
🔇 Errors
2022-10-08 17:17:03 -06:00
Ben Chatelain
036dc05981 🚨 Remove extra linefeed 2022-10-08 14:49:42 -06:00
Ben Chatelain
610257f292 🔇 Add --verbose flag to outdated command 2022-10-08 14:46:12 -06:00
Ben Chatelain
f54b1883c3 💡 Document print utility functions 2022-10-08 14:22:42 -06:00
Ben Chatelain
0212a71adf ⬆️ SwiftSyntax (0.50700.1) 2022-10-08 14:17:07 -06:00
Ben Chatelain
892ad7e199 🔇 Remove redundant error statements 2022-10-03 19:46:06 -06:00
Ben Chatelain
62a09bdbb7 🔊 Log errors using printError 2022-10-03 18:40:47 -06:00
Ben Chatelain
4cba212570
Merge pull request #476 from mas-cli/cleanup
⬆️ Dependency & tool updates
2022-09-22 20:16:30 -06:00