* [cli][menu-bar] Add iOS re-signing with a free Apple ID Re-sign an installed build that fails code-signing so it runs on a personal device, using a free Apple ID. When an install fails with APPLE_APP_VERIFICATION_FAILED, Orbit offers to re-sign and install. - CLI: `resign-ipa` and `apple-id-auth` (sign-in / verify-2fa with SMS fallback / sign-out) commands, driven by ipa-resign. - Menu-bar: the resign offer + determinate progress in the popover, an Apple ID sign-in window (6-digit 2FA input, resend, SMS fallback), error-copy mapping, first-install "Untrusted Developer" trust instructions, and an Apple ID section in Settings (signed-in state + sign out). - Session expiry is treated as an automatic logout: the stored Apple ID is forgotten and every "signed in as" surface updates, with one-tap re-auth. - Electron/macOS wiring for the ipa-resign native anisette + zsign helpers, transient-env-var plumbing to pass the password to the CLI, and the APPLE_APP_VERIFICATION_FAILED mapping that triggers the offer. [email protected]. * [menu-bar] Fix Electron CI: ensure extraResource dirs exist; drop useless return - forge.config: create ./bin and ./anisette in the generateAssets hook so packaging (and Electron E2E, which runs 'yarn package' without 'build:helpers') does not fail with ENOENT on the missing extraResource dirs. build:helpers still populates them for real builds. - build-helpers: remove a no-useless-return that failed eslint --max-warnings 0. * Bump ipa-resign to 0.0.13 * Fix CLI error handling * Update AppleID auth UI * Fix Apple ID persistance * Fix Apple connection lost * Fix opening settings menu * Support paid developer accounts in resign copy and show the install step * Detect builds that need resigning before attempting the install * Add changelog entry
45 lines
1.5 KiB
JSON
45 lines
1.5 KiB
JSON
{
|
|
"name": "expo-orbit-cli",
|
|
"private": true,
|
|
"version": "0.0.1",
|
|
"description": "The command-line tool used internally by Expo Orbit menu bar",
|
|
"license": "MIT",
|
|
"files": [
|
|
"build"
|
|
],
|
|
"scripts": {
|
|
"cli": "node ./build/index.js",
|
|
"start": "yarn run prepare && yarn run watch",
|
|
"build": "tsc",
|
|
"archive": "yarn build && pkg build/index.js --config pkg.config.json -o dist/orbit-cli",
|
|
"clean": "rimraf build ./tsconfig.tsbuildinfo",
|
|
"prepare": "yarn run clean && yarn run build",
|
|
"watch": "tsc --watch --preserveWatchOutput",
|
|
"codesign": "codesign --options=runtime --sign \"Developer ID Application: 650 Industries, Inc. (C8D8QTF339)\" --entitlements ./macos/entitlements.plist --force ./dist/orbit-cli-arm64 ./dist/orbit-cli-x64",
|
|
"typecheck": "tsc",
|
|
"gql": "graphql-codegen --config codegen.ts",
|
|
"test": "jest"
|
|
},
|
|
"dependencies": {
|
|
"@types/picomatch": "^4.0.0",
|
|
"ipa-resign": "^0.0.16",
|
|
"commander": "^10.0.1",
|
|
"common-types": "1.0.0",
|
|
"eas-shared": "*",
|
|
"graphql": "^16.8.0",
|
|
"graphql-request": "^6.1.0",
|
|
"picomatch": "^4.0.2",
|
|
"snack-content": "2.0.0-preview.2",
|
|
"strip-ansi": "^6.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@graphql-codegen/cli": "^5.0.0",
|
|
"@graphql-codegen/typescript-graphql-request": "^6.1.0",
|
|
"@graphql-codegen/typescript-operations": "^4.0.1",
|
|
"@types/jest": "^29.5.14",
|
|
"pkg": "^5.8.1",
|
|
"ts-jest": "^29.3.4",
|
|
"typescript": "~6.0.3"
|
|
}
|
|
}
|