Ross Goldberg
d413d8cfa1
Move MasKit module to mas.
...
Move MasKitTests module to masTests.
Rename MasKit enum as Mas.
Upgrade swift-tools-version from 5.3 to 5.6.1.
swift-tools-version 5.5+ is necessary to allow test code to import executable target code,
to allow MasKit library code to be moved into the mas executable.
Upgrade to swift-tools-version to 5.6.1 instead of to 5.5 because they support all the same macOS versions.
Standardize comments.
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-14 03:44:03 -04:00
Ross Goldberg
611d4a7fb7
Merge pull request #563 from rgoldberg/562-apple-id
...
Improve `Account`, `SignIn`, `SignOut` & `ISStoreAccount` extension & associated code:
2024-10-13 22:26:44 -04:00
Ross Goldberg
a24bcdd1e9
Merge branch 'main' into 562-apple-id
2024-10-13 22:23:37 -04:00
Ross Goldberg
1bebde9e4a
Merge pull request #550 from rgoldberg/536-output-responses-unparsable-as-json
...
Output to stderr responses from Apple endpoints that are unparsable as JSON
2024-10-13 22:20:51 -04:00
Ross Goldberg
fe7b688f3b
Merge pull request #549 from rgoldberg/538-fix-typos
...
Fix typos in comments & in documentation.
2024-10-13 22:18:28 -04:00
Ross Goldberg
7c81b4803c
Merge pull request #551 from rgoldberg/540-outdated-multi-platform-minimum-macos
...
`outdated` checks if new app version requires newer macOS for all kinds of apps, not just mac-software
2024-10-13 22:17:14 -04:00
Ross Goldberg
f37e4fca85
Merge pull request #556 from rgoldberg/289-re-enable-purchase
...
Re-enable `purchase`.
2024-10-13 22:16:29 -04:00
Ross Goldberg
953613bd04
Merge pull request #552 from rgoldberg/544-gitignore
...
Git ignore JetBrains IntelliJ IDEA config directory.
2024-10-13 22:06:34 -04:00
Ross Goldberg
a6f03afa67
Merge pull request #553 from rgoldberg/545-scripts
...
Improve scripts: bootstrap, build, format, lint, test & version.
2024-10-13 22:05:42 -04:00
Ross Goldberg
fe749fc2eb
Handle CKPurchaseController.shared().perform(…)
callback within SSPurchase.perform(adamId:purchase:)
to encapsulate CKPurchaseController
& its callback.
...
Chain `Promise`s instead of calling `Promise.wait()`.
Improve comments.
Resolve #562
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 02:15:07 -04:00
Ross Goldberg
a45308f2f2
Configure SSPurchase
in `perform(…)
instead of in a convenience init
.
...
Partial #562
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 02:01:26 -04:00
Ross Goldberg
c01f7c541e
Migrate ISStoreAccount
from Grand Central Dispatch to PromiseKit.
...
Partial #562
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 02:01:25 -04:00
Ross Goldberg
aceb4c3ddb
Remove unnecessary output when nothing downloaded by download(…)
.
...
Partial #562
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:59:18 -04:00
Ross Goldberg
943638fef4
Improve ISStoreAccount.signIn(…)
.
...
Output error for non-`nil` `ISStoreAccount.primaryAccount` only if `ISStoreAccount.primaryAccount.isSignedIn` is `true`.
Output error when no password provided to password prompt for `mas signin`.
Remove unnecessary blank lines in `MASError.swift`.
Partial #562
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:59:18 -04:00
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