@ankhorage/deploy 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -2
- package/dist/domain/AndroidDeploymentIntent.d.ts +10 -0
- package/dist/domain/AndroidDeploymentIntent.d.ts.map +1 -0
- package/dist/domain/AndroidDeploymentIntent.js +3 -0
- package/dist/domain/AndroidDeploymentIntent.js.map +1 -0
- package/dist/domain/AndroidDeploymentPublication.d.ts +12 -0
- package/dist/domain/AndroidDeploymentPublication.d.ts.map +1 -0
- package/dist/domain/AndroidDeploymentPublication.js +2 -0
- package/dist/domain/AndroidDeploymentPublication.js.map +1 -0
- package/dist/domain/DeploymentCurrentState.d.ts +6 -3
- package/dist/domain/DeploymentCurrentState.d.ts.map +1 -1
- package/dist/domain/DeploymentCurrentState.js.map +1 -1
- package/dist/domain/DeploymentDesiredRevisions.d.ts +3 -0
- package/dist/domain/DeploymentDesiredRevisions.d.ts.map +1 -0
- package/dist/domain/DeploymentDesiredRevisions.js +2 -0
- package/dist/domain/DeploymentDesiredRevisions.js.map +1 -0
- package/dist/domain/DeploymentTargetChange.d.ts +1 -1
- package/dist/domain/DeploymentTargetChange.d.ts.map +1 -1
- package/dist/domain/DeploymentTargetChange.js +1 -0
- package/dist/domain/DeploymentTargetChange.js.map +1 -1
- package/dist/domain/WebDeploymentPublication.d.ts +9 -0
- package/dist/domain/WebDeploymentPublication.d.ts.map +1 -0
- package/dist/domain/WebDeploymentPublication.js +2 -0
- package/dist/domain/WebDeploymentPublication.js.map +1 -0
- package/dist/domain/WebDeploymentPublishIntent.d.ts +6 -0
- package/dist/domain/WebDeploymentPublishIntent.d.ts.map +1 -0
- package/dist/domain/WebDeploymentPublishIntent.js +2 -0
- package/dist/domain/WebDeploymentPublishIntent.js.map +1 -0
- package/dist/engine/createDeploymentChanges.d.ts +2 -0
- package/dist/engine/createDeploymentChanges.d.ts.map +1 -1
- package/dist/engine/createDeploymentChanges.js +22 -7
- package/dist/engine/createDeploymentChanges.js.map +1 -1
- package/dist/engine/createDeploymentPlan.d.ts +2 -0
- package/dist/engine/createDeploymentPlan.d.ts.map +1 -1
- package/dist/engine/createDeploymentPlan.js.map +1 -1
- package/dist/engine/targetSnapshot.d.ts +2 -2
- package/dist/engine/targetSnapshot.d.ts.map +1 -1
- package/dist/engine/targetSnapshot.js +14 -9
- package/dist/engine/targetSnapshot.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/project/android/ProjectAndroidDeploymentAccess.d.ts +7 -0
- package/dist/project/android/ProjectAndroidDeploymentAccess.d.ts.map +1 -0
- package/dist/project/android/ProjectAndroidDeploymentAccess.js +2 -0
- package/dist/project/android/ProjectAndroidDeploymentAccess.js.map +1 -0
- package/dist/project/android/ProjectAndroidDeploymentExecution.d.ts +12 -0
- package/dist/project/android/ProjectAndroidDeploymentExecution.d.ts.map +1 -0
- package/dist/project/android/ProjectAndroidDeploymentExecution.js +2 -0
- package/dist/project/android/ProjectAndroidDeploymentExecution.js.map +1 -0
- package/dist/project/android/ProjectAndroidDeploymentInspection.d.ts +21 -0
- package/dist/project/android/ProjectAndroidDeploymentInspection.d.ts.map +1 -0
- package/dist/project/android/ProjectAndroidDeploymentInspection.js +2 -0
- package/dist/project/android/ProjectAndroidDeploymentInspection.js.map +1 -0
- package/dist/project/android/ProjectAndroidDeploymentRuntime.d.ts +13 -0
- package/dist/project/android/ProjectAndroidDeploymentRuntime.d.ts.map +1 -0
- package/dist/project/android/ProjectAndroidDeploymentRuntime.js +12 -0
- package/dist/project/android/ProjectAndroidDeploymentRuntime.js.map +1 -0
- package/dist/project/android/ProjectAndroidExecutionState.d.ts +10 -0
- package/dist/project/android/ProjectAndroidExecutionState.d.ts.map +1 -0
- package/dist/project/android/ProjectAndroidExecutionState.js +2 -0
- package/dist/project/android/ProjectAndroidExecutionState.js.map +1 -0
- package/dist/project/android/createProjectAndroidDeploymentPlan.d.ts +4 -0
- package/dist/project/android/createProjectAndroidDeploymentPlan.d.ts.map +1 -0
- package/dist/project/android/createProjectAndroidDeploymentPlan.js +13 -0
- package/dist/project/android/createProjectAndroidDeploymentPlan.js.map +1 -0
- package/dist/project/android/executeProjectAndroidDeployment.d.ts +12 -0
- package/dist/project/android/executeProjectAndroidDeployment.d.ts.map +1 -0
- package/dist/project/android/executeProjectAndroidDeployment.js +164 -0
- package/dist/project/android/executeProjectAndroidDeployment.js.map +1 -0
- package/dist/project/android/executeProjectAndroidStep.d.ts +15 -0
- package/dist/project/android/executeProjectAndroidStep.d.ts.map +1 -0
- package/dist/project/android/executeProjectAndroidStep.js +124 -0
- package/dist/project/android/executeProjectAndroidStep.js.map +1 -0
- package/dist/project/android/inspectProjectAndroidDeployment.d.ts +11 -0
- package/dist/project/android/inspectProjectAndroidDeployment.d.ts.map +1 -0
- package/dist/project/android/inspectProjectAndroidDeployment.js +90 -0
- package/dist/project/android/inspectProjectAndroidDeployment.js.map +1 -0
- package/dist/project/android/inspectProjectAndroidEasSetup.d.ts +5 -0
- package/dist/project/android/inspectProjectAndroidEasSetup.d.ts.map +1 -0
- package/dist/project/android/inspectProjectAndroidEasSetup.js +18 -0
- package/dist/project/android/inspectProjectAndroidEasSetup.js.map +1 -0
- package/dist/project/android/inspectProjectAndroidGooglePlay.d.ts +16 -0
- package/dist/project/android/inspectProjectAndroidGooglePlay.d.ts.map +1 -0
- package/dist/project/android/inspectProjectAndroidGooglePlay.js +52 -0
- package/dist/project/android/inspectProjectAndroidGooglePlay.js.map +1 -0
- package/dist/project/android/normalizeProjectAndroidDesired.d.ts +13 -0
- package/dist/project/android/normalizeProjectAndroidDesired.d.ts.map +1 -0
- package/dist/project/android/normalizeProjectAndroidDesired.js +25 -0
- package/dist/project/android/normalizeProjectAndroidDesired.js.map +1 -0
- package/dist/project/android/readCurrentProjectAndroidDeployment.d.ts +8 -0
- package/dist/project/android/readCurrentProjectAndroidDeployment.d.ts.map +1 -0
- package/dist/project/android/readCurrentProjectAndroidDeployment.js +44 -0
- package/dist/project/android/readCurrentProjectAndroidDeployment.js.map +1 -0
- package/dist/project/android/recordProjectAndroidDeployment.d.ts +21 -0
- package/dist/project/android/recordProjectAndroidDeployment.d.ts.map +1 -0
- package/dist/project/android/recordProjectAndroidDeployment.js +36 -0
- package/dist/project/android/recordProjectAndroidDeployment.js.map +1 -0
- package/dist/project/android/resolveProjectAndroidDeploymentAccess.d.ts +9 -0
- package/dist/project/android/resolveProjectAndroidDeploymentAccess.d.ts.map +1 -0
- package/dist/project/android/resolveProjectAndroidDeploymentAccess.js +7 -0
- package/dist/project/android/resolveProjectAndroidDeploymentAccess.js.map +1 -0
- package/dist/project/android/scopeProjectAndroidDeploymentAccess.d.ts +3 -0
- package/dist/project/android/scopeProjectAndroidDeploymentAccess.d.ts.map +1 -0
- package/dist/project/android/scopeProjectAndroidDeploymentAccess.js +7 -0
- package/dist/project/android/scopeProjectAndroidDeploymentAccess.js.map +1 -0
- package/dist/project/areDeploymentPlansEqual.d.ts +3 -0
- package/dist/project/areDeploymentPlansEqual.d.ts.map +1 -0
- package/dist/project/areDeploymentPlansEqual.js +4 -0
- package/dist/project/areDeploymentPlansEqual.js.map +1 -0
- package/dist/project/history/validation/observedTarget.d.ts.map +1 -1
- package/dist/project/history/validation/observedTarget.js +13 -6
- package/dist/project/history/validation/observedTarget.js.map +1 -1
- package/dist/project/index.d.ts +12 -0
- package/dist/project/index.d.ts.map +1 -1
- package/dist/project/index.js +6 -0
- package/dist/project/index.js.map +1 -1
- package/dist/project/setupBlockingOutcome.d.ts +14 -0
- package/dist/project/setupBlockingOutcome.d.ts.map +1 -0
- package/dist/project/setupBlockingOutcome.js +38 -0
- package/dist/project/setupBlockingOutcome.js.map +1 -0
- package/dist/project/web/ProjectWebDeploymentAccess.d.ts +7 -0
- package/dist/project/web/ProjectWebDeploymentAccess.d.ts.map +1 -0
- package/dist/project/web/ProjectWebDeploymentAccess.js +2 -0
- package/dist/project/web/ProjectWebDeploymentAccess.js.map +1 -0
- package/dist/project/web/ProjectWebDeploymentExecution.d.ts +12 -0
- package/dist/project/web/ProjectWebDeploymentExecution.d.ts.map +1 -0
- package/dist/project/web/ProjectWebDeploymentExecution.js +2 -0
- package/dist/project/web/ProjectWebDeploymentExecution.js.map +1 -0
- package/dist/project/web/ProjectWebDeploymentInspection.d.ts +19 -0
- package/dist/project/web/ProjectWebDeploymentInspection.d.ts.map +1 -0
- package/dist/project/web/ProjectWebDeploymentInspection.js +2 -0
- package/dist/project/web/ProjectWebDeploymentInspection.js.map +1 -0
- package/dist/project/web/ProjectWebDeploymentRuntime.d.ts +9 -0
- package/dist/project/web/ProjectWebDeploymentRuntime.d.ts.map +1 -0
- package/dist/project/web/ProjectWebDeploymentRuntime.js +8 -0
- package/dist/project/web/ProjectWebDeploymentRuntime.js.map +1 -0
- package/dist/project/web/ProjectWebExecutionState.d.ts +9 -0
- package/dist/project/web/ProjectWebExecutionState.d.ts.map +1 -0
- package/dist/project/web/ProjectWebExecutionState.js +2 -0
- package/dist/project/web/ProjectWebExecutionState.js.map +1 -0
- package/dist/project/web/areDeploymentPlansEqual.d.ts +2 -0
- package/dist/project/web/areDeploymentPlansEqual.d.ts.map +1 -0
- package/dist/project/web/areDeploymentPlansEqual.js +2 -0
- package/dist/project/web/areDeploymentPlansEqual.js.map +1 -0
- package/dist/project/web/createProjectWebDeploymentPlan.d.ts +4 -0
- package/dist/project/web/createProjectWebDeploymentPlan.d.ts.map +1 -0
- package/dist/project/web/createProjectWebDeploymentPlan.js +13 -0
- package/dist/project/web/createProjectWebDeploymentPlan.js.map +1 -0
- package/dist/project/web/executeProjectWebDeployment.d.ts +14 -0
- package/dist/project/web/executeProjectWebDeployment.d.ts.map +1 -0
- package/dist/project/web/executeProjectWebDeployment.js +118 -0
- package/dist/project/web/executeProjectWebDeployment.js.map +1 -0
- package/dist/project/web/executeProjectWebStep.d.ts +16 -0
- package/dist/project/web/executeProjectWebStep.d.ts.map +1 -0
- package/dist/project/web/executeProjectWebStep.js +80 -0
- package/dist/project/web/executeProjectWebStep.js.map +1 -0
- package/dist/project/web/inspectProjectWebDeployment.d.ts +9 -0
- package/dist/project/web/inspectProjectWebDeployment.d.ts.map +1 -0
- package/dist/project/web/inspectProjectWebDeployment.js +56 -0
- package/dist/project/web/inspectProjectWebDeployment.js.map +1 -0
- package/dist/project/web/inspectProjectWebSetup.d.ts +5 -0
- package/dist/project/web/inspectProjectWebSetup.d.ts.map +1 -0
- package/dist/project/web/inspectProjectWebSetup.js +14 -0
- package/dist/project/web/inspectProjectWebSetup.js.map +1 -0
- package/dist/project/web/normalizeProjectWebDesired.d.ts +12 -0
- package/dist/project/web/normalizeProjectWebDesired.d.ts.map +1 -0
- package/dist/project/web/normalizeProjectWebDesired.js +20 -0
- package/dist/project/web/normalizeProjectWebDesired.js.map +1 -0
- package/dist/project/web/readCurrentProjectWebDeployment.d.ts +3 -0
- package/dist/project/web/readCurrentProjectWebDeployment.d.ts.map +1 -0
- package/dist/project/web/readCurrentProjectWebDeployment.js +24 -0
- package/dist/project/web/readCurrentProjectWebDeployment.js.map +1 -0
- package/dist/project/web/recordProjectWebDeployment.d.ts +19 -0
- package/dist/project/web/recordProjectWebDeployment.d.ts.map +1 -0
- package/dist/project/web/recordProjectWebDeployment.js +36 -0
- package/dist/project/web/recordProjectWebDeployment.js.map +1 -0
- package/dist/project/web/resolveProjectWebDeploymentAccess.d.ts +9 -0
- package/dist/project/web/resolveProjectWebDeploymentAccess.d.ts.map +1 -0
- package/dist/project/web/resolveProjectWebDeploymentAccess.js +7 -0
- package/dist/project/web/resolveProjectWebDeploymentAccess.js.map +1 -0
- package/dist/project/web/setupBlockingOutcome.d.ts +4 -0
- package/dist/project/web/setupBlockingOutcome.d.ts.map +1 -0
- package/dist/project/web/setupBlockingOutcome.js +12 -0
- package/dist/project/web/setupBlockingOutcome.js.map +1 -0
- package/dist/providers/eas/android/EasAndroidBuildArtifact.d.ts +8 -0
- package/dist/providers/eas/android/EasAndroidBuildArtifact.d.ts.map +1 -0
- package/dist/providers/eas/android/EasAndroidBuildArtifact.js +2 -0
- package/dist/providers/eas/android/EasAndroidBuildArtifact.js.map +1 -0
- package/dist/providers/eas/android/buildAndroidWithEas.d.ts +25 -0
- package/dist/providers/eas/android/buildAndroidWithEas.d.ts.map +1 -0
- package/dist/providers/eas/android/buildAndroidWithEas.js +58 -0
- package/dist/providers/eas/android/buildAndroidWithEas.js.map +1 -0
- package/dist/providers/eas/android/generateLocalAndroidFingerprint.d.ts +15 -0
- package/dist/providers/eas/android/generateLocalAndroidFingerprint.d.ts.map +1 -0
- package/dist/providers/eas/android/generateLocalAndroidFingerprint.js +51 -0
- package/dist/providers/eas/android/generateLocalAndroidFingerprint.js.map +1 -0
- package/dist/providers/eas/android/inspectEasAndroidConfig.d.ts +28 -0
- package/dist/providers/eas/android/inspectEasAndroidConfig.d.ts.map +1 -0
- package/dist/providers/eas/android/inspectEasAndroidConfig.js +40 -0
- package/dist/providers/eas/android/inspectEasAndroidConfig.js.map +1 -0
- package/dist/providers/eas/android/parseEasAndroidBuild.d.ts +3 -0
- package/dist/providers/eas/android/parseEasAndroidBuild.d.ts.map +1 -0
- package/dist/providers/eas/android/parseEasAndroidBuild.js +45 -0
- package/dist/providers/eas/android/parseEasAndroidBuild.js.map +1 -0
- package/dist/providers/eas/android/parseEasAndroidConfig.d.ts +3 -0
- package/dist/providers/eas/android/parseEasAndroidConfig.d.ts.map +1 -0
- package/dist/providers/eas/android/parseEasAndroidConfig.js +59 -0
- package/dist/providers/eas/android/parseEasAndroidConfig.js.map +1 -0
- package/dist/providers/eas/createEasSetupAdapter.d.ts +13 -0
- package/dist/providers/eas/createEasSetupAdapter.d.ts.map +1 -0
- package/dist/providers/eas/createEasSetupAdapter.js +72 -0
- package/dist/providers/eas/createEasSetupAdapter.js.map +1 -0
- package/dist/providers/eas/parseEasWebPublication.d.ts +3 -0
- package/dist/providers/eas/parseEasWebPublication.d.ts.map +1 -0
- package/dist/providers/eas/parseEasWebPublication.js +31 -0
- package/dist/providers/eas/parseEasWebPublication.js.map +1 -0
- package/dist/providers/eas/publishWebToEas.d.ts +27 -0
- package/dist/providers/eas/publishWebToEas.d.ts.map +1 -0
- package/dist/providers/eas/publishWebToEas.js +52 -0
- package/dist/providers/eas/publishWebToEas.js.map +1 -0
- package/dist/providers/eas/resolveEasProcessEnvironment.d.ts +17 -0
- package/dist/providers/eas/resolveEasProcessEnvironment.d.ts.map +1 -0
- package/dist/providers/eas/resolveEasProcessEnvironment.js +27 -0
- package/dist/providers/eas/resolveEasProcessEnvironment.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayTokenFactory.d.ts +7 -0
- package/dist/providers/googlePlay/GooglePlayTokenFactory.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayTokenFactory.js +14 -0
- package/dist/providers/googlePlay/GooglePlayTokenFactory.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayTrackState.d.ts +12 -0
- package/dist/providers/googlePlay/GooglePlayTrackState.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayTrackState.js +35 -0
- package/dist/providers/googlePlay/GooglePlayTrackState.js.map +1 -0
- package/dist/providers/googlePlay/GooglePlayTransport.d.ts +15 -0
- package/dist/providers/googlePlay/GooglePlayTransport.d.ts.map +1 -0
- package/dist/providers/googlePlay/GooglePlayTransport.js +12 -0
- package/dist/providers/googlePlay/GooglePlayTransport.js.map +1 -0
- package/dist/providers/googlePlay/commitGooglePlayEdit.d.ts +8 -0
- package/dist/providers/googlePlay/commitGooglePlayEdit.d.ts.map +1 -0
- package/dist/providers/googlePlay/commitGooglePlayEdit.js +17 -0
- package/dist/providers/googlePlay/commitGooglePlayEdit.js.map +1 -0
- package/dist/providers/googlePlay/createGooglePlaySetupAdapter.d.ts +6 -0
- package/dist/providers/googlePlay/createGooglePlaySetupAdapter.d.ts.map +1 -0
- package/dist/providers/googlePlay/createGooglePlaySetupAdapter.js +32 -0
- package/dist/providers/googlePlay/createGooglePlaySetupAdapter.js.map +1 -0
- package/dist/providers/googlePlay/downloadAndroidArchive.d.ts +9 -0
- package/dist/providers/googlePlay/downloadAndroidArchive.d.ts.map +1 -0
- package/dist/providers/googlePlay/downloadAndroidArchive.js +28 -0
- package/dist/providers/googlePlay/downloadAndroidArchive.js.map +1 -0
- package/dist/providers/googlePlay/googlePlayUrls.d.ts +6 -0
- package/dist/providers/googlePlay/googlePlayUrls.d.ts.map +1 -0
- package/dist/providers/googlePlay/googlePlayUrls.js +18 -0
- package/dist/providers/googlePlay/googlePlayUrls.js.map +1 -0
- package/dist/providers/googlePlay/insertGooglePlayEdit.d.ts +7 -0
- package/dist/providers/googlePlay/insertGooglePlayEdit.d.ts.map +1 -0
- package/dist/providers/googlePlay/insertGooglePlayEdit.js +32 -0
- package/dist/providers/googlePlay/insertGooglePlayEdit.js.map +1 -0
- package/dist/providers/googlePlay/inspectGooglePlayTrack.d.ts +27 -0
- package/dist/providers/googlePlay/inspectGooglePlayTrack.d.ts.map +1 -0
- package/dist/providers/googlePlay/inspectGooglePlayTrack.js +80 -0
- package/dist/providers/googlePlay/inspectGooglePlayTrack.js.map +1 -0
- package/dist/providers/googlePlay/publishAndroidToGooglePlay.d.ts +32 -0
- package/dist/providers/googlePlay/publishAndroidToGooglePlay.d.ts.map +1 -0
- package/dist/providers/googlePlay/publishAndroidToGooglePlay.js +74 -0
- package/dist/providers/googlePlay/publishAndroidToGooglePlay.js.map +1 -0
- package/dist/providers/googlePlay/resolveGooglePlayAccessToken.d.ts +17 -0
- package/dist/providers/googlePlay/resolveGooglePlayAccessToken.d.ts.map +1 -0
- package/dist/providers/googlePlay/resolveGooglePlayAccessToken.js +62 -0
- package/dist/providers/googlePlay/resolveGooglePlayAccessToken.js.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayTrack.d.ts +12 -0
- package/dist/providers/googlePlay/updateGooglePlayTrack.d.ts.map +1 -0
- package/dist/providers/googlePlay/updateGooglePlayTrack.js +26 -0
- package/dist/providers/googlePlay/updateGooglePlayTrack.js.map +1 -0
- package/dist/providers/googlePlay/uploadGooglePlayBundle.d.ts +9 -0
- package/dist/providers/googlePlay/uploadGooglePlayBundle.d.ts.map +1 -0
- package/dist/providers/googlePlay/uploadGooglePlayBundle.js +34 -0
- package/dist/providers/googlePlay/uploadGooglePlayBundle.js.map +1 -0
- package/dist/providers/googlePlay/verifyGooglePlayPublication.d.ts +23 -0
- package/dist/providers/googlePlay/verifyGooglePlayPublication.d.ts.map +1 -0
- package/dist/providers/googlePlay/verifyGooglePlayPublication.js +31 -0
- package/dist/providers/googlePlay/verifyGooglePlayPublication.js.map +1 -0
- package/dist/runtime/http/DeploymentHttpProbe.d.ts +6 -0
- package/dist/runtime/http/DeploymentHttpProbe.d.ts.map +1 -0
- package/dist/runtime/http/DeploymentHttpProbe.js +2 -0
- package/dist/runtime/http/DeploymentHttpProbe.js.map +1 -0
- package/dist/runtime/http/probeDeploymentHttp.d.ts +3 -0
- package/dist/runtime/http/probeDeploymentHttp.d.ts.map +1 -0
- package/dist/runtime/http/probeDeploymentHttp.js +5 -0
- package/dist/runtime/http/probeDeploymentHttp.js.map +1 -0
- package/dist/runtime/process/DeploymentProcessRunner.d.ts +13 -0
- package/dist/runtime/process/DeploymentProcessRunner.d.ts.map +1 -0
- package/dist/runtime/process/DeploymentProcessRunner.js +2 -0
- package/dist/runtime/process/DeploymentProcessRunner.js.map +1 -0
- package/dist/runtime/process/runDeploymentProcess.d.ts +3 -0
- package/dist/runtime/process/runDeploymentProcess.d.ts.map +1 -0
- package/dist/runtime/process/runDeploymentProcess.js +29 -0
- package/dist/runtime/process/runDeploymentProcess.js.map +1 -0
- package/dist/targets/android/createAndroidDeploymentRevision.d.ts +3 -0
- package/dist/targets/android/createAndroidDeploymentRevision.d.ts.map +1 -0
- package/dist/targets/android/createAndroidDeploymentRevision.js +11 -0
- package/dist/targets/android/createAndroidDeploymentRevision.js.map +1 -0
- package/dist/targets/android/createAndroidTargetPlanContributor.d.ts +3 -0
- package/dist/targets/android/createAndroidTargetPlanContributor.d.ts.map +1 -0
- package/dist/targets/android/createAndroidTargetPlanContributor.js +26 -0
- package/dist/targets/android/createAndroidTargetPlanContributor.js.map +1 -0
- package/dist/targets/android/isAndroidDeploymentIntentValid.d.ts +3 -0
- package/dist/targets/android/isAndroidDeploymentIntentValid.d.ts.map +1 -0
- package/dist/targets/android/isAndroidDeploymentIntentValid.js +7 -0
- package/dist/targets/android/isAndroidDeploymentIntentValid.js.map +1 -0
- package/dist/targets/android/normalizeAndroidProviders.d.ts +16 -0
- package/dist/targets/android/normalizeAndroidProviders.d.ts.map +1 -0
- package/dist/targets/android/normalizeAndroidProviders.js +16 -0
- package/dist/targets/android/normalizeAndroidProviders.js.map +1 -0
- package/dist/targets/web/PreparedWebArtifact.d.ts +5 -0
- package/dist/targets/web/PreparedWebArtifact.d.ts.map +1 -0
- package/dist/targets/web/PreparedWebArtifact.js +2 -0
- package/dist/targets/web/PreparedWebArtifact.js.map +1 -0
- package/dist/targets/web/createWebTargetPlanContributor.d.ts +3 -0
- package/dist/targets/web/createWebTargetPlanContributor.d.ts.map +1 -0
- package/dist/targets/web/createWebTargetPlanContributor.js +32 -0
- package/dist/targets/web/createWebTargetPlanContributor.js.map +1 -0
- package/dist/targets/web/hashWebExport.d.ts +2 -0
- package/dist/targets/web/hashWebExport.d.ts.map +1 -0
- package/dist/targets/web/hashWebExport.js +30 -0
- package/dist/targets/web/hashWebExport.js.map +1 -0
- package/dist/targets/web/normalizeWebProviders.d.ts +16 -0
- package/dist/targets/web/normalizeWebProviders.d.ts.map +1 -0
- package/dist/targets/web/normalizeWebProviders.js +16 -0
- package/dist/targets/web/normalizeWebProviders.js.map +1 -0
- package/dist/targets/web/prepareWebArtifact.d.ts +16 -0
- package/dist/targets/web/prepareWebArtifact.d.ts.map +1 -0
- package/dist/targets/web/prepareWebArtifact.js +46 -0
- package/dist/targets/web/prepareWebArtifact.js.map +1 -0
- package/dist/targets/web/verifyWebPublication.d.ts +5 -0
- package/dist/targets/web/verifyWebPublication.d.ts.map +1 -0
- package/dist/targets/web/verifyWebPublication.js +25 -0
- package/dist/targets/web/verifyWebPublication.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { cleanupWebArtifact, prepareWebArtifact } from '../../targets/web/prepareWebArtifact';
|
|
2
|
+
import { resolveDeployProject } from '../resolveDeployProject';
|
|
3
|
+
import { inspectProjectWebSetup } from './inspectProjectWebSetup';
|
|
4
|
+
import { normalizeProjectWebDesired } from './normalizeProjectWebDesired';
|
|
5
|
+
import { projectWebDeploymentRuntime } from './ProjectWebDeploymentRuntime';
|
|
6
|
+
import { readCurrentProjectWebDeployment } from './readCurrentProjectWebDeployment';
|
|
7
|
+
import { resolveProjectWebDeploymentAccess } from './resolveProjectWebDeploymentAccess';
|
|
8
|
+
export function inspectProjectWebDeployment(options) {
|
|
9
|
+
return inspectProjectWebDeploymentWithRuntime(options, projectWebDeploymentRuntime);
|
|
10
|
+
}
|
|
11
|
+
export async function inspectProjectWebDeploymentWithRuntime(options, runtime) {
|
|
12
|
+
try {
|
|
13
|
+
const project = await resolveDeployProject({ projectRoot: options.projectRoot });
|
|
14
|
+
const normalized = normalizeProjectWebDesired(project.deploy);
|
|
15
|
+
if (!normalized.ok)
|
|
16
|
+
return normalized;
|
|
17
|
+
const current = await readCurrentProjectWebDeployment(project.projectRoot);
|
|
18
|
+
if (!normalized.enabled) {
|
|
19
|
+
return success(project.projectRoot, normalized.desired, current, undefined, null);
|
|
20
|
+
}
|
|
21
|
+
const artifact = await prepareWebArtifact({
|
|
22
|
+
projectRoot: project.projectRoot,
|
|
23
|
+
runProcess: runtime.runProcess,
|
|
24
|
+
});
|
|
25
|
+
if (!artifact.ok)
|
|
26
|
+
return artifact;
|
|
27
|
+
const { directory, revision } = artifact.artifact;
|
|
28
|
+
await cleanupWebArtifact(directory);
|
|
29
|
+
const access = resolveProjectWebDeploymentAccess(options);
|
|
30
|
+
const setup = await inspectProjectWebSetup(project.projectRoot, access, runtime);
|
|
31
|
+
return success(project.projectRoot, normalized.desired, current, revision, setup);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return {
|
|
35
|
+
ok: false,
|
|
36
|
+
failure: {
|
|
37
|
+
code: 'WEB_PROJECT_INSPECTION_FAILED',
|
|
38
|
+
message: 'Web deployment project inspection failed.',
|
|
39
|
+
target: 'web',
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function success(projectRoot, desired, current, desiredRevision, setup) {
|
|
45
|
+
return {
|
|
46
|
+
ok: true,
|
|
47
|
+
inspection: {
|
|
48
|
+
projectRoot,
|
|
49
|
+
desired,
|
|
50
|
+
current,
|
|
51
|
+
...(desiredRevision === undefined ? {} : { desiredRevision }),
|
|
52
|
+
setup,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=inspectProjectWebDeployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspectProjectWebDeployment.js","sourceRoot":"","sources":["../../../src/project/web/inspectProjectWebDeployment.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAI1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAMxF,MAAM,UAAU,2BAA2B,CACzC,OAA2C;IAE3C,OAAO,sCAAsC,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC1D,OAA2C,EAC3C,OAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,EAAE;YAAE,OAAO,UAAU,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC;YACxC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAClC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAClD,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE;gBACP,IAAI,EAAE,+BAA+B;gBACrC,OAAO,EAAE,2CAA2C;gBACpD,MAAM,EAAE,KAAK;aACd;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CACd,WAAmB,EACnB,OAA0B,EAC1B,OAA+B,EAC/B,eAAmC,EACnC,KAAqD;IAErD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,UAAU,EAAE;YACV,WAAW;YACX,OAAO;YACP,OAAO;YACP,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;YAC7D,KAAK;SACN;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { AppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentCurrentState } from '../../domain/DeploymentCurrentState';\nimport type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';\nimport { cleanupWebArtifact, prepareWebArtifact } from '../../targets/web/prepareWebArtifact';\nimport { resolveDeployProject } from '../resolveDeployProject';\nimport { inspectProjectWebSetup } from './inspectProjectWebSetup';\nimport { normalizeProjectWebDesired } from './normalizeProjectWebDesired';\nimport type { ProjectWebDeploymentAccess } from './ProjectWebDeploymentAccess';\nimport type { ProjectWebDeploymentInspectionResult } from './ProjectWebDeploymentInspection';\nimport type { ProjectWebDeploymentRuntime } from './ProjectWebDeploymentRuntime';\nimport { projectWebDeploymentRuntime } from './ProjectWebDeploymentRuntime';\nimport { readCurrentProjectWebDeployment } from './readCurrentProjectWebDeployment';\nimport { resolveProjectWebDeploymentAccess } from './resolveProjectWebDeploymentAccess';\n\nexport interface InspectProjectWebDeploymentOptions extends ProjectWebDeploymentAccess {\n readonly projectRoot: string;\n}\n\nexport function inspectProjectWebDeployment(\n options: InspectProjectWebDeploymentOptions,\n): Promise<ProjectWebDeploymentInspectionResult> {\n return inspectProjectWebDeploymentWithRuntime(options, projectWebDeploymentRuntime);\n}\n\nexport async function inspectProjectWebDeploymentWithRuntime(\n options: InspectProjectWebDeploymentOptions,\n runtime: ProjectWebDeploymentRuntime,\n): Promise<ProjectWebDeploymentInspectionResult> {\n try {\n const project = await resolveDeployProject({ projectRoot: options.projectRoot });\n const normalized = normalizeProjectWebDesired(project.deploy);\n if (!normalized.ok) return normalized;\n const current = await readCurrentProjectWebDeployment(project.projectRoot);\n if (!normalized.enabled) {\n return success(project.projectRoot, normalized.desired, current, undefined, null);\n }\n const artifact = await prepareWebArtifact({\n projectRoot: project.projectRoot,\n runProcess: runtime.runProcess,\n });\n if (!artifact.ok) return artifact;\n const { directory, revision } = artifact.artifact;\n await cleanupWebArtifact(directory);\n const access = resolveProjectWebDeploymentAccess(options);\n const setup = await inspectProjectWebSetup(project.projectRoot, access, runtime);\n return success(project.projectRoot, normalized.desired, current, revision, setup);\n } catch {\n return {\n ok: false,\n failure: {\n code: 'WEB_PROJECT_INSPECTION_FAILED',\n message: 'Web deployment project inspection failed.',\n target: 'web',\n },\n };\n }\n}\n\nfunction success(\n projectRoot: string,\n desired: AppDeployManifest,\n current: DeploymentCurrentState,\n desiredRevision: string | undefined,\n setup: DeploymentProviderSetupInspectionResult | null,\n): ProjectWebDeploymentInspectionResult {\n return {\n ok: true,\n inspection: {\n projectRoot,\n desired,\n current,\n ...(desiredRevision === undefined ? {} : { desiredRevision }),\n setup,\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';
|
|
2
|
+
import type { ProjectWebDeploymentRuntime } from './ProjectWebDeploymentRuntime';
|
|
3
|
+
import type { ResolvedProjectWebDeploymentAccess } from './resolveProjectWebDeploymentAccess';
|
|
4
|
+
export declare function inspectProjectWebSetup(projectRoot: string, access: ResolvedProjectWebDeploymentAccess, runtime: ProjectWebDeploymentRuntime): Promise<DeploymentProviderSetupInspectionResult>;
|
|
5
|
+
//# sourceMappingURL=inspectProjectWebSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspectProjectWebSetup.d.ts","sourceRoot":"","sources":["../../../src/project/web/inspectProjectWebSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,sDAAsD,CAAC;AAGpH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AAE9F,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kCAAkC,EAC1C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,uCAAuC,CAAC,CAUlD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { inspectDeploymentProviderSetup } from '../../engine/inspectDeploymentProviderSetup';
|
|
2
|
+
import { createEasSetupAdapter } from '../../providers/eas/createEasSetupAdapter';
|
|
3
|
+
export function inspectProjectWebSetup(projectRoot, access, runtime) {
|
|
4
|
+
return inspectDeploymentProviderSetup({
|
|
5
|
+
adapter: createEasSetupAdapter({
|
|
6
|
+
projectRoot,
|
|
7
|
+
runProcess: runtime.runProcess,
|
|
8
|
+
target: 'web',
|
|
9
|
+
capability: 'publish',
|
|
10
|
+
}),
|
|
11
|
+
context: { target: 'web', ...access },
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=inspectProjectWebSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspectProjectWebSetup.js","sourceRoot":"","sources":["../../../src/project/web/inspectProjectWebSetup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAIlF,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,MAA0C,EAC1C,OAAoC;IAEpC,OAAO,8BAA8B,CAAC;QACpC,OAAO,EAAE,qBAAqB,CAAC;YAC7B,WAAW;YACX,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,KAAK;YACb,UAAU,EAAE,SAAS;SACtB,CAAC;QACF,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE;KACtC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';\nimport { inspectDeploymentProviderSetup } from '../../engine/inspectDeploymentProviderSetup';\nimport { createEasSetupAdapter } from '../../providers/eas/createEasSetupAdapter';\nimport type { ProjectWebDeploymentRuntime } from './ProjectWebDeploymentRuntime';\nimport type { ResolvedProjectWebDeploymentAccess } from './resolveProjectWebDeploymentAccess';\n\nexport function inspectProjectWebSetup(\n projectRoot: string,\n access: ResolvedProjectWebDeploymentAccess,\n runtime: ProjectWebDeploymentRuntime,\n): Promise<DeploymentProviderSetupInspectionResult> {\n return inspectDeploymentProviderSetup({\n adapter: createEasSetupAdapter({\n projectRoot,\n runProcess: runtime.runProcess,\n target: 'web',\n capability: 'publish',\n }),\n context: { target: 'web', ...access },\n });\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AppDeployManifest } from '@ankhorage/contracts/deploy';
|
|
2
|
+
import type { DeploymentFailure } from '../../domain/DeploymentFailure';
|
|
3
|
+
export type NormalizeProjectWebDesiredResult = {
|
|
4
|
+
readonly ok: true;
|
|
5
|
+
readonly desired: AppDeployManifest;
|
|
6
|
+
readonly enabled: boolean;
|
|
7
|
+
} | {
|
|
8
|
+
readonly ok: false;
|
|
9
|
+
readonly failure: DeploymentFailure;
|
|
10
|
+
};
|
|
11
|
+
export declare function normalizeProjectWebDesired(deploy: AppDeployManifest | null): NormalizeProjectWebDesiredResult;
|
|
12
|
+
//# sourceMappingURL=normalizeProjectWebDesired.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProjectWebDesired.d.ts","sourceRoot":"","sources":["../../../src/project/web/normalizeProjectWebDesired.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,MAAM,MAAM,gCAAgC,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEhE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAC/B,gCAAgC,CAgBlC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { normalizeWebProviders } from '../../targets/web/normalizeWebProviders';
|
|
2
|
+
export function normalizeProjectWebDesired(deploy) {
|
|
3
|
+
const web = deploy?.targets.web;
|
|
4
|
+
if (web?.enabled !== true) {
|
|
5
|
+
return { ok: true, desired: { targets: {} }, enabled: false };
|
|
6
|
+
}
|
|
7
|
+
const normalized = normalizeWebProviders(web.providers);
|
|
8
|
+
if (!normalized.ok)
|
|
9
|
+
return normalized;
|
|
10
|
+
return {
|
|
11
|
+
ok: true,
|
|
12
|
+
enabled: true,
|
|
13
|
+
desired: {
|
|
14
|
+
targets: {
|
|
15
|
+
web: { enabled: true, providers: normalized.providers },
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=normalizeProjectWebDesired.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeProjectWebDesired.js","sourceRoot":"","sources":["../../../src/project/web/normalizeProjectWebDesired.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAMhF,MAAM,UAAU,0BAA0B,CACxC,MAAgC;IAEhC,MAAM,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;IAChC,IAAI,GAAG,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,UAAU,CAAC;IACtC,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;aACxD;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { AppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\nimport { normalizeWebProviders } from '../../targets/web/normalizeWebProviders';\n\nexport type NormalizeProjectWebDesiredResult =\n | { readonly ok: true; readonly desired: AppDeployManifest; readonly enabled: boolean }\n | { readonly ok: false; readonly failure: DeploymentFailure };\n\nexport function normalizeProjectWebDesired(\n deploy: AppDeployManifest | null,\n): NormalizeProjectWebDesiredResult {\n const web = deploy?.targets.web;\n if (web?.enabled !== true) {\n return { ok: true, desired: { targets: {} }, enabled: false };\n }\n const normalized = normalizeWebProviders(web.providers);\n if (!normalized.ok) return normalized;\n return {\n ok: true,\n enabled: true,\n desired: {\n targets: {\n web: { enabled: true, providers: normalized.providers },\n },\n },\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readCurrentProjectWebDeployment.d.ts","sourceRoot":"","sources":["../../../src/project/web/readCurrentProjectWebDeployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,qCAAqC,CAAC;AAI7C,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAOjC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { listProjectDeploymentHistory } from '../history/listProjectDeploymentHistory';
|
|
2
|
+
export async function readCurrentProjectWebDeployment(projectRoot) {
|
|
3
|
+
const history = await listProjectDeploymentHistory({ projectRoot });
|
|
4
|
+
const [record] = [...history]
|
|
5
|
+
.filter(isSuccessfulWebRecord)
|
|
6
|
+
.sort((left, right) => right.recordedAt.localeCompare(left.recordedAt));
|
|
7
|
+
const web = record === undefined ? null : observedWebTarget(record);
|
|
8
|
+
return { targets: web === null ? {} : { web } };
|
|
9
|
+
}
|
|
10
|
+
function isSuccessfulWebRecord(record) {
|
|
11
|
+
return (record.deploymentId.startsWith('web-') &&
|
|
12
|
+
record.execution.status === 'completed' &&
|
|
13
|
+
record.verification?.ok === true);
|
|
14
|
+
}
|
|
15
|
+
function observedWebTarget(record) {
|
|
16
|
+
const desired = record.plan.changes.find((change) => change.target === 'web')?.desired;
|
|
17
|
+
if (desired?.target !== 'web' || desired.revision === undefined)
|
|
18
|
+
return null;
|
|
19
|
+
return {
|
|
20
|
+
revision: desired.revision,
|
|
21
|
+
...(desired.providers === undefined ? {} : { providers: desired.providers }),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=readCurrentProjectWebDeployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readCurrentProjectWebDeployment.js","sourceRoot":"","sources":["../../../src/project/web/readCurrentProjectWebDeployment.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAGvF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,WAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;SAC1B,MAAM,CAAC,qBAAqB,CAAC;SAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAsC;IACnE,OAAO,CACL,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,WAAW;QACvC,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,IAAI,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAsC;IAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE,OAAO,CAAC;IACvF,IAAI,OAAO,EAAE,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;KAC7E,CAAC;AACJ,CAAC","sourcesContent":["import type {\n DeploymentCurrentState,\n DeploymentObservedWebTarget,\n} from '../../domain/DeploymentCurrentState';\nimport { listProjectDeploymentHistory } from '../history/listProjectDeploymentHistory';\nimport type { ProjectDeploymentHistoryRecord } from '../history/ProjectDeploymentHistoryRecord';\n\nexport async function readCurrentProjectWebDeployment(\n projectRoot: string,\n): Promise<DeploymentCurrentState> {\n const history = await listProjectDeploymentHistory({ projectRoot });\n const [record] = [...history]\n .filter(isSuccessfulWebRecord)\n .sort((left, right) => right.recordedAt.localeCompare(left.recordedAt));\n const web = record === undefined ? null : observedWebTarget(record);\n return { targets: web === null ? {} : { web } };\n}\n\nfunction isSuccessfulWebRecord(record: ProjectDeploymentHistoryRecord): boolean {\n return (\n record.deploymentId.startsWith('web-') &&\n record.execution.status === 'completed' &&\n record.verification?.ok === true\n );\n}\n\nfunction observedWebTarget(\n record: ProjectDeploymentHistoryRecord,\n): DeploymentObservedWebTarget | null {\n const desired = record.plan.changes.find((change) => change.target === 'web')?.desired;\n if (desired?.target !== 'web' || desired.revision === undefined) return null;\n return {\n revision: desired.revision,\n ...(desired.providers === undefined ? {} : { providers: desired.providers }),\n };\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DeploymentExecutionResult } from '../../domain/DeploymentExecutionResult';
|
|
2
|
+
import type { DeploymentFailure } from '../../domain/DeploymentFailure';
|
|
3
|
+
import type { DeploymentPlan } from '../../domain/DeploymentPlan';
|
|
4
|
+
import type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';
|
|
5
|
+
import type { ProjectWebDeploymentInspection } from './ProjectWebDeploymentInspection';
|
|
6
|
+
export type RecordProjectWebHistoryResult = {
|
|
7
|
+
readonly recorded: true;
|
|
8
|
+
} | {
|
|
9
|
+
readonly recorded: false;
|
|
10
|
+
readonly failure: DeploymentFailure;
|
|
11
|
+
};
|
|
12
|
+
export declare function recordProjectWebDeployment(options: {
|
|
13
|
+
readonly inspection: ProjectWebDeploymentInspection;
|
|
14
|
+
readonly plan: DeploymentPlan;
|
|
15
|
+
readonly execution: DeploymentExecutionResult;
|
|
16
|
+
readonly verification: DeploymentVerificationResult;
|
|
17
|
+
readonly recordedAt: string;
|
|
18
|
+
}): Promise<RecordProjectWebHistoryResult>;
|
|
19
|
+
//# sourceMappingURL=recordProjectWebDeployment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordProjectWebDeployment.d.ts","sourceRoot":"","sources":["../../../src/project/web/recordProjectWebDeployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAG9F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAEvF,MAAM,MAAM,6BAA6B,GACvC;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAElG,wBAAsB,0BAA0B,CAAC,OAAO,EAAE;IACxD,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAoBzC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from '../history/historySchemaVersion';
|
|
2
|
+
import { recordProjectDeploymentHistory } from '../history/recordProjectDeploymentHistory';
|
|
3
|
+
export async function recordProjectWebDeployment(options) {
|
|
4
|
+
const revision = options.inspection.desiredRevision;
|
|
5
|
+
if (revision === undefined)
|
|
6
|
+
return historyFailure('WEB_HISTORY_REVISION_MISSING');
|
|
7
|
+
try {
|
|
8
|
+
await recordProjectDeploymentHistory({
|
|
9
|
+
projectRoot: options.inspection.projectRoot,
|
|
10
|
+
record: {
|
|
11
|
+
schemaVersion: PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION,
|
|
12
|
+
deploymentId: `web-${revision}`,
|
|
13
|
+
recordedAt: options.recordedAt,
|
|
14
|
+
desired: options.inspection.desired,
|
|
15
|
+
plan: options.plan,
|
|
16
|
+
execution: options.execution,
|
|
17
|
+
verification: options.verification,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
return { recorded: true };
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return historyFailure('WEB_HISTORY_RECORD_FAILED');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function historyFailure(code) {
|
|
27
|
+
return {
|
|
28
|
+
recorded: false,
|
|
29
|
+
failure: {
|
|
30
|
+
code,
|
|
31
|
+
message: 'Web deployment history could not be recorded.',
|
|
32
|
+
target: 'web',
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=recordProjectWebDeployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordProjectWebDeployment.js","sourceRoot":"","sources":["../../../src/project/web/recordProjectWebDeployment.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yCAAyC,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAM3F,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,OAMhD;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,MAAM,8BAA8B,CAAC;YACnC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW;YAC3C,MAAM,EAAE;gBACN,aAAa,EAAE,yCAAyC;gBACxD,YAAY,EAAE,OAAO,QAAQ,EAAE;gBAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;aACnC;SACF,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC,2BAA2B,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE;YACP,IAAI;YACJ,OAAO,EAAE,+CAA+C;YACxD,MAAM,EAAE,KAAK;SACd;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentExecutionResult } from '../../domain/DeploymentExecutionResult';\nimport type { DeploymentFailure } from '../../domain/DeploymentFailure';\nimport type { DeploymentPlan } from '../../domain/DeploymentPlan';\nimport type { DeploymentVerificationResult } from '../../domain/DeploymentVerificationResult';\nimport { PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION } from '../history/historySchemaVersion';\nimport { recordProjectDeploymentHistory } from '../history/recordProjectDeploymentHistory';\nimport type { ProjectWebDeploymentInspection } from './ProjectWebDeploymentInspection';\n\nexport type RecordProjectWebHistoryResult =\n { readonly recorded: true } | { readonly recorded: false; readonly failure: DeploymentFailure };\n\nexport async function recordProjectWebDeployment(options: {\n readonly inspection: ProjectWebDeploymentInspection;\n readonly plan: DeploymentPlan;\n readonly execution: DeploymentExecutionResult;\n readonly verification: DeploymentVerificationResult;\n readonly recordedAt: string;\n}): Promise<RecordProjectWebHistoryResult> {\n const revision = options.inspection.desiredRevision;\n if (revision === undefined) return historyFailure('WEB_HISTORY_REVISION_MISSING');\n try {\n await recordProjectDeploymentHistory({\n projectRoot: options.inspection.projectRoot,\n record: {\n schemaVersion: PROJECT_DEPLOYMENT_HISTORY_SCHEMA_VERSION,\n deploymentId: `web-${revision}`,\n recordedAt: options.recordedAt,\n desired: options.inspection.desired,\n plan: options.plan,\n execution: options.execution,\n verification: options.verification,\n },\n });\n return { recorded: true };\n } catch {\n return historyFailure('WEB_HISTORY_RECORD_FAILED');\n }\n}\n\nfunction historyFailure(code: string): RecordProjectWebHistoryResult {\n return {\n recorded: false,\n failure: {\n code,\n message: 'Web deployment history could not be recorded.',\n target: 'web',\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';
|
|
2
|
+
import type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';
|
|
3
|
+
import type { ProjectWebDeploymentAccess } from './ProjectWebDeploymentAccess';
|
|
4
|
+
export interface ResolvedProjectWebDeploymentAccess {
|
|
5
|
+
readonly credentials: readonly DeploymentCredentialReference[];
|
|
6
|
+
readonly resolveSecret: DeploymentSecretResolver;
|
|
7
|
+
}
|
|
8
|
+
export declare function resolveProjectWebDeploymentAccess(access: ProjectWebDeploymentAccess): ResolvedProjectWebDeploymentAccess;
|
|
9
|
+
//# sourceMappingURL=resolveProjectWebDeploymentAccess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveProjectWebDeploymentAccess.d.ts","sourceRoot":"","sources":["../../../src/project/web/resolveProjectWebDeploymentAccess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;CAClD;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,0BAA0B,GACjC,kCAAkC,CAKpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveProjectWebDeploymentAccess.js","sourceRoot":"","sources":["../../../src/project/web/resolveProjectWebDeploymentAccess.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,iCAAiC,CAC/C,MAAkC;IAElC,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentCredentialReference } from '../../domain/DeploymentCredentialReference';\nimport type { DeploymentSecretResolver } from '../../domain/DeploymentSecretResolver';\nimport type { ProjectWebDeploymentAccess } from './ProjectWebDeploymentAccess';\n\nexport interface ResolvedProjectWebDeploymentAccess {\n readonly credentials: readonly DeploymentCredentialReference[];\n readonly resolveSecret: DeploymentSecretResolver;\n}\n\nexport function resolveProjectWebDeploymentAccess(\n access: ProjectWebDeploymentAccess,\n): ResolvedProjectWebDeploymentAccess {\n return {\n credentials: access.credentials ?? [],\n resolveSecret: access.resolveSecret ?? (() => Promise.resolve(null)),\n };\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';
|
|
2
|
+
import type { DeploymentStepOutcome } from '../../domain/DeploymentStepOutcome';
|
|
3
|
+
export declare function setupBlockingOutcome(result: DeploymentProviderSetupInspectionResult): DeploymentStepOutcome | null;
|
|
4
|
+
//# sourceMappingURL=setupBlockingOutcome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupBlockingOutcome.d.ts","sourceRoot":"","sources":["../../../src/project/web/setupBlockingOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,sDAAsD,CAAC;AACpH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAGhF,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,uCAAuC,GAC9C,qBAAqB,GAAG,IAAI,CAS9B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { projectSetupBlockingOutcome } from '../setupBlockingOutcome';
|
|
2
|
+
export function setupBlockingOutcome(result) {
|
|
3
|
+
return projectSetupBlockingOutcome(result, {
|
|
4
|
+
target: 'web',
|
|
5
|
+
capability: 'publish',
|
|
6
|
+
incompleteCode: 'WEB_SETUP_INCOMPLETE',
|
|
7
|
+
incompleteMessage: 'Web deployment setup requires automated provisioning before publication.',
|
|
8
|
+
unavailableCode: 'WEB_PUBLISH_UNAVAILABLE',
|
|
9
|
+
unavailableMessage: 'The Web publish capability is not available.',
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=setupBlockingOutcome.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupBlockingOutcome.js","sourceRoot":"","sources":["../../../src/project/web/setupBlockingOutcome.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,oBAAoB,CAClC,MAA+C;IAE/C,OAAO,2BAA2B,CAAC,MAAM,EAAE;QACzC,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,sBAAsB;QACtC,iBAAiB,EAAE,0EAA0E;QAC7F,eAAe,EAAE,yBAAyB;QAC1C,kBAAkB,EAAE,8CAA8C;KACnE,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { DeploymentProviderSetupInspectionResult } from '../../domain/DeploymentProviderSetupInspectionResult';\nimport type { DeploymentStepOutcome } from '../../domain/DeploymentStepOutcome';\nimport { projectSetupBlockingOutcome } from '../setupBlockingOutcome';\n\nexport function setupBlockingOutcome(\n result: DeploymentProviderSetupInspectionResult,\n): DeploymentStepOutcome | null {\n return projectSetupBlockingOutcome(result, {\n target: 'web',\n capability: 'publish',\n incompleteCode: 'WEB_SETUP_INCOMPLETE',\n incompleteMessage: 'Web deployment setup requires automated provisioning before publication.',\n unavailableCode: 'WEB_PUBLISH_UNAVAILABLE',\n unavailableMessage: 'The Web publish capability is not available.',\n });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EasAndroidBuildArtifact.d.ts","sourceRoot":"","sources":["../../../../src/providers/eas/android/EasAndroidBuildArtifact.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EasAndroidBuildArtifact.js","sourceRoot":"","sources":["../../../../src/providers/eas/android/EasAndroidBuildArtifact.ts"],"names":[],"mappings":"","sourcesContent":["export interface EasAndroidBuildArtifact {\n readonly buildId: string;\n readonly buildProfile: string;\n readonly fingerprint: string;\n readonly versionCode: number;\n readonly archiveUrl: string;\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DeploymentCredentialReference } from '../../../domain/DeploymentCredentialReference';
|
|
2
|
+
import type { DeploymentFailure } from '../../../domain/DeploymentFailure';
|
|
3
|
+
import type { DeploymentRequiredAction } from '../../../domain/DeploymentRequiredAction';
|
|
4
|
+
import type { DeploymentSecretResolver } from '../../../domain/DeploymentSecretResolver';
|
|
5
|
+
import type { DeploymentProcessRunner } from '../../../runtime/process/DeploymentProcessRunner';
|
|
6
|
+
import type { EasAndroidBuildArtifact } from './EasAndroidBuildArtifact';
|
|
7
|
+
export type EasAndroidBuildResult = {
|
|
8
|
+
readonly status: 'completed';
|
|
9
|
+
readonly artifact: EasAndroidBuildArtifact;
|
|
10
|
+
} | {
|
|
11
|
+
readonly status: 'action-required';
|
|
12
|
+
readonly action: DeploymentRequiredAction;
|
|
13
|
+
} | {
|
|
14
|
+
readonly status: 'failed';
|
|
15
|
+
readonly failure: DeploymentFailure;
|
|
16
|
+
};
|
|
17
|
+
export declare function buildAndroidWithEas(options: {
|
|
18
|
+
readonly projectRoot: string;
|
|
19
|
+
readonly buildProfile: string;
|
|
20
|
+
readonly expectedFingerprint: string;
|
|
21
|
+
readonly credentials: readonly DeploymentCredentialReference[];
|
|
22
|
+
readonly resolveSecret: DeploymentSecretResolver;
|
|
23
|
+
readonly runProcess: DeploymentProcessRunner;
|
|
24
|
+
}): Promise<EasAndroidBuildResult>;
|
|
25
|
+
//# sourceMappingURL=buildAndroidWithEas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildAndroidWithEas.d.ts","sourceRoot":"","sources":["../../../../src/providers/eas/android/buildAndroidWithEas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAEhG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGzE,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEvE,wBAAsB,mBAAmB,CAAC,OAAO,EAAE;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAoBjC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { resolveEasProcessEnvironment } from '../resolveEasProcessEnvironment';
|
|
2
|
+
import { parseEasAndroidBuild } from './parseEasAndroidBuild';
|
|
3
|
+
export async function buildAndroidWithEas(options) {
|
|
4
|
+
const environment = await resolveEasProcessEnvironment({ ...options, target: 'android' });
|
|
5
|
+
if (!environment.ok)
|
|
6
|
+
return { status: 'action-required', action: environment.action };
|
|
7
|
+
const result = await options.runProcess({
|
|
8
|
+
command: 'eas',
|
|
9
|
+
args: buildArgs(options.buildProfile),
|
|
10
|
+
cwd: options.projectRoot,
|
|
11
|
+
...(environment.env === undefined ? {} : { env: environment.env }),
|
|
12
|
+
});
|
|
13
|
+
if (result.exitCode !== 0)
|
|
14
|
+
return failedBuild(result.stderr);
|
|
15
|
+
let parsed;
|
|
16
|
+
try {
|
|
17
|
+
parsed = JSON.parse(result.stdout);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return failure('EAS_ANDROID_BUILD_INVALID', 'EAS Android build returned an invalid result.');
|
|
21
|
+
}
|
|
22
|
+
const artifact = parseEasAndroidBuild(parsed, options.expectedFingerprint, options.buildProfile);
|
|
23
|
+
return artifact === null
|
|
24
|
+
? failure('EAS_ANDROID_BUILD_INVALID', 'EAS Android build returned an invalid result.')
|
|
25
|
+
: { status: 'completed', artifact };
|
|
26
|
+
}
|
|
27
|
+
function buildArgs(buildProfile) {
|
|
28
|
+
return [
|
|
29
|
+
'build',
|
|
30
|
+
'--platform',
|
|
31
|
+
'android',
|
|
32
|
+
'--profile',
|
|
33
|
+
buildProfile,
|
|
34
|
+
'--json',
|
|
35
|
+
'--non-interactive',
|
|
36
|
+
'--wait',
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
function failedBuild(stderr) {
|
|
40
|
+
const lower = stderr.toLowerCase();
|
|
41
|
+
if (lower.includes('keystore') || lower.includes('credential')) {
|
|
42
|
+
return {
|
|
43
|
+
status: 'action-required',
|
|
44
|
+
action: {
|
|
45
|
+
type: 'manual-action',
|
|
46
|
+
target: 'android',
|
|
47
|
+
provider: 'eas',
|
|
48
|
+
code: 'EAS_ANDROID_SIGNING_SETUP_REQUIRED',
|
|
49
|
+
message: 'Android signing credentials require EAS account or project setup.',
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return failure('EAS_ANDROID_BUILD_FAILED', 'EAS Android build failed.');
|
|
54
|
+
}
|
|
55
|
+
function failure(code, message) {
|
|
56
|
+
return { status: 'failed', failure: { code, message, target: 'android', provider: 'eas' } };
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=buildAndroidWithEas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildAndroidWithEas.js","sourceRoot":"","sources":["../../../../src/providers/eas/android/buildAndroidWithEas.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAOzC;IACC,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1F,IAAI,CAAC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;IACtF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACtC,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;QACrC,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,GAAG,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;KACnE,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,2BAA2B,EAAE,+CAA+C,CAAC,CAAC;IAC/F,CAAC;IACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACjG,OAAO,QAAQ,KAAK,IAAI;QACtB,CAAC,CAAC,OAAO,CAAC,2BAA2B,EAAE,+CAA+C,CAAC;QACvF,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,YAAoB;IACrC,OAAO;QACL,OAAO;QACP,YAAY;QACZ,SAAS;QACT,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,mBAAmB;QACnB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,OAAO;YACL,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE;gBACN,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,oCAAoC;gBAC1C,OAAO,EAAE,mEAAmE;aAC7E;SACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,OAAe;IAC5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;AAC9F,CAAC","sourcesContent":["import type { DeploymentCredentialReference } from '../../../domain/DeploymentCredentialReference';\nimport type { DeploymentFailure } from '../../../domain/DeploymentFailure';\nimport type { DeploymentRequiredAction } from '../../../domain/DeploymentRequiredAction';\nimport type { DeploymentSecretResolver } from '../../../domain/DeploymentSecretResolver';\nimport type { DeploymentProcessRunner } from '../../../runtime/process/DeploymentProcessRunner';\nimport { resolveEasProcessEnvironment } from '../resolveEasProcessEnvironment';\nimport type { EasAndroidBuildArtifact } from './EasAndroidBuildArtifact';\nimport { parseEasAndroidBuild } from './parseEasAndroidBuild';\n\nexport type EasAndroidBuildResult =\n | { readonly status: 'completed'; readonly artifact: EasAndroidBuildArtifact }\n | { readonly status: 'action-required'; readonly action: DeploymentRequiredAction }\n | { readonly status: 'failed'; readonly failure: DeploymentFailure };\n\nexport async function buildAndroidWithEas(options: {\n readonly projectRoot: string;\n readonly buildProfile: string;\n readonly expectedFingerprint: string;\n readonly credentials: readonly DeploymentCredentialReference[];\n readonly resolveSecret: DeploymentSecretResolver;\n readonly runProcess: DeploymentProcessRunner;\n}): Promise<EasAndroidBuildResult> {\n const environment = await resolveEasProcessEnvironment({ ...options, target: 'android' });\n if (!environment.ok) return { status: 'action-required', action: environment.action };\n const result = await options.runProcess({\n command: 'eas',\n args: buildArgs(options.buildProfile),\n cwd: options.projectRoot,\n ...(environment.env === undefined ? {} : { env: environment.env }),\n });\n if (result.exitCode !== 0) return failedBuild(result.stderr);\n let parsed: unknown;\n try {\n parsed = JSON.parse(result.stdout);\n } catch {\n return failure('EAS_ANDROID_BUILD_INVALID', 'EAS Android build returned an invalid result.');\n }\n const artifact = parseEasAndroidBuild(parsed, options.expectedFingerprint, options.buildProfile);\n return artifact === null\n ? failure('EAS_ANDROID_BUILD_INVALID', 'EAS Android build returned an invalid result.')\n : { status: 'completed', artifact };\n}\n\nfunction buildArgs(buildProfile: string): readonly string[] {\n return [\n 'build',\n '--platform',\n 'android',\n '--profile',\n buildProfile,\n '--json',\n '--non-interactive',\n '--wait',\n ];\n}\n\nfunction failedBuild(stderr: string): EasAndroidBuildResult {\n const lower = stderr.toLowerCase();\n if (lower.includes('keystore') || lower.includes('credential')) {\n return {\n status: 'action-required',\n action: {\n type: 'manual-action',\n target: 'android',\n provider: 'eas',\n code: 'EAS_ANDROID_SIGNING_SETUP_REQUIRED',\n message: 'Android signing credentials require EAS account or project setup.',\n },\n };\n }\n return failure('EAS_ANDROID_BUILD_FAILED', 'EAS Android build failed.');\n}\n\nfunction failure(code: string, message: string): EasAndroidBuildResult {\n return { status: 'failed', failure: { code, message, target: 'android', provider: 'eas' } };\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DeploymentFailure } from '../../../domain/DeploymentFailure';
|
|
2
|
+
import type { DeploymentProcessRunner } from '../../../runtime/process/DeploymentProcessRunner';
|
|
3
|
+
export type LocalAndroidFingerprintResult = {
|
|
4
|
+
readonly status: 'completed';
|
|
5
|
+
readonly fingerprint: string;
|
|
6
|
+
} | {
|
|
7
|
+
readonly status: 'failed';
|
|
8
|
+
readonly failure: DeploymentFailure;
|
|
9
|
+
};
|
|
10
|
+
export declare function generateLocalAndroidFingerprint(options: {
|
|
11
|
+
readonly projectRoot: string;
|
|
12
|
+
readonly profileEnvironment: Readonly<Record<string, string>>;
|
|
13
|
+
readonly runProcess: DeploymentProcessRunner;
|
|
14
|
+
}): Promise<LocalAndroidFingerprintResult>;
|
|
15
|
+
//# sourceMappingURL=generateLocalAndroidFingerprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateLocalAndroidFingerprint.d.ts","sourceRoot":"","sources":["../../../../src/providers/eas/android/generateLocalAndroidFingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAEhG,MAAM,MAAM,6BAA6B,GACrC;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAgBvE,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAgBzC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const FINGERPRINT_SCRIPT = `
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { spawnSync } from 'node:child_process';
|
|
4
|
+
import * as Fingerprint from 'expo/fingerprint';
|
|
5
|
+
const markers = ['android/app/build.gradle', 'android/app/src/main/AndroidManifest.xml'];
|
|
6
|
+
const generic = markers.some((marker) => {
|
|
7
|
+
if (!existsSync(marker)) return false;
|
|
8
|
+
return spawnSync('git', ['check-ignore', '--quiet', marker], { cwd: process.cwd() }).status !== 0;
|
|
9
|
+
});
|
|
10
|
+
const options = { platforms: ['android'], silent: true, ...(generic ? {} : { ignorePaths: ['android/**/*', 'ios/**/*'] }) };
|
|
11
|
+
const result = await Fingerprint.createFingerprintAsync(process.cwd(), options);
|
|
12
|
+
process.stdout.write(JSON.stringify({ hash: result.hash }));
|
|
13
|
+
`;
|
|
14
|
+
export async function generateLocalAndroidFingerprint(options) {
|
|
15
|
+
const result = await options.runProcess({
|
|
16
|
+
command: 'node',
|
|
17
|
+
args: ['--input-type=module', '--eval', FINGERPRINT_SCRIPT],
|
|
18
|
+
cwd: options.projectRoot,
|
|
19
|
+
env: options.profileEnvironment,
|
|
20
|
+
});
|
|
21
|
+
if (result.exitCode !== 0)
|
|
22
|
+
return failure();
|
|
23
|
+
let parsed;
|
|
24
|
+
try {
|
|
25
|
+
parsed = JSON.parse(result.stdout);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return failure();
|
|
29
|
+
}
|
|
30
|
+
if (!isFingerprintResult(parsed))
|
|
31
|
+
return failure();
|
|
32
|
+
return { status: 'completed', fingerprint: parsed.hash };
|
|
33
|
+
}
|
|
34
|
+
function isFingerprintResult(value) {
|
|
35
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
36
|
+
return false;
|
|
37
|
+
const hash = value.hash;
|
|
38
|
+
return typeof hash === 'string' && /^[a-f\d]{32,128}$/i.test(hash);
|
|
39
|
+
}
|
|
40
|
+
function failure() {
|
|
41
|
+
return {
|
|
42
|
+
status: 'failed',
|
|
43
|
+
failure: {
|
|
44
|
+
code: 'ANDROID_FINGERPRINT_FAILED',
|
|
45
|
+
message: 'Android project fingerprint could not be generated.',
|
|
46
|
+
target: 'android',
|
|
47
|
+
provider: 'eas',
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=generateLocalAndroidFingerprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateLocalAndroidFingerprint.js","sourceRoot":"","sources":["../../../../src/providers/eas/android/generateLocalAndroidFingerprint.ts"],"names":[],"mappings":"AAOA,MAAM,kBAAkB,GAAG;;;;;;;;;;;;CAY1B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,OAIrD;IACC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;QACtC,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,kBAAkB,CAAC;QAC3D,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,GAAG,EAAE,OAAO,CAAC,kBAAkB;KAChC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,OAAO,EAAE,CAAC;IAC5C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,EAAE,CAAC;IACnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAC;IACrD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,OAAO;IACd,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,qDAAqD;YAC9D,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,KAAK;SAChB;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentFailure } from '../../../domain/DeploymentFailure';\nimport type { DeploymentProcessRunner } from '../../../runtime/process/DeploymentProcessRunner';\n\nexport type LocalAndroidFingerprintResult =\n | { readonly status: 'completed'; readonly fingerprint: string }\n | { readonly status: 'failed'; readonly failure: DeploymentFailure };\n\nconst FINGERPRINT_SCRIPT = `\nimport { existsSync } from 'node:fs';\nimport { spawnSync } from 'node:child_process';\nimport * as Fingerprint from 'expo/fingerprint';\nconst markers = ['android/app/build.gradle', 'android/app/src/main/AndroidManifest.xml'];\nconst generic = markers.some((marker) => {\n if (!existsSync(marker)) return false;\n return spawnSync('git', ['check-ignore', '--quiet', marker], { cwd: process.cwd() }).status !== 0;\n});\nconst options = { platforms: ['android'], silent: true, ...(generic ? {} : { ignorePaths: ['android/**/*', 'ios/**/*'] }) };\nconst result = await Fingerprint.createFingerprintAsync(process.cwd(), options);\nprocess.stdout.write(JSON.stringify({ hash: result.hash }));\n`;\n\nexport async function generateLocalAndroidFingerprint(options: {\n readonly projectRoot: string;\n readonly profileEnvironment: Readonly<Record<string, string>>;\n readonly runProcess: DeploymentProcessRunner;\n}): Promise<LocalAndroidFingerprintResult> {\n const result = await options.runProcess({\n command: 'node',\n args: ['--input-type=module', '--eval', FINGERPRINT_SCRIPT],\n cwd: options.projectRoot,\n env: options.profileEnvironment,\n });\n if (result.exitCode !== 0) return failure();\n let parsed: unknown;\n try {\n parsed = JSON.parse(result.stdout);\n } catch {\n return failure();\n }\n if (!isFingerprintResult(parsed)) return failure();\n return { status: 'completed', fingerprint: parsed.hash };\n}\n\nfunction isFingerprintResult(value: unknown): value is { readonly hash: string } {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return false;\n const hash = (value as Record<string, unknown>).hash;\n return typeof hash === 'string' && /^[a-f\\d]{32,128}$/i.test(hash);\n}\n\nfunction failure(): LocalAndroidFingerprintResult {\n return {\n status: 'failed',\n failure: {\n code: 'ANDROID_FINGERPRINT_FAILED',\n message: 'Android project fingerprint could not be generated.',\n target: 'android',\n provider: 'eas',\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { DeploymentCredentialReference } from '../../../domain/DeploymentCredentialReference';
|
|
2
|
+
import type { DeploymentFailure } from '../../../domain/DeploymentFailure';
|
|
3
|
+
import type { DeploymentRequiredAction } from '../../../domain/DeploymentRequiredAction';
|
|
4
|
+
import type { DeploymentSecretResolver } from '../../../domain/DeploymentSecretResolver';
|
|
5
|
+
import type { DeploymentProcessRunner } from '../../../runtime/process/DeploymentProcessRunner';
|
|
6
|
+
export interface EasAndroidConfigSnapshot {
|
|
7
|
+
readonly packageName: string;
|
|
8
|
+
readonly profileEnvironment: Readonly<Record<string, string>>;
|
|
9
|
+
}
|
|
10
|
+
export type EasAndroidConfigResult = {
|
|
11
|
+
readonly status: 'completed';
|
|
12
|
+
readonly config: EasAndroidConfigSnapshot;
|
|
13
|
+
} | {
|
|
14
|
+
readonly status: 'action-required';
|
|
15
|
+
readonly action: DeploymentRequiredAction;
|
|
16
|
+
} | {
|
|
17
|
+
readonly status: 'failed';
|
|
18
|
+
readonly failure: DeploymentFailure;
|
|
19
|
+
};
|
|
20
|
+
export declare function inspectEasAndroidConfig(options: {
|
|
21
|
+
readonly projectRoot: string;
|
|
22
|
+
readonly packageName: string;
|
|
23
|
+
readonly buildProfile: string;
|
|
24
|
+
readonly credentials: readonly DeploymentCredentialReference[];
|
|
25
|
+
readonly resolveSecret: DeploymentSecretResolver;
|
|
26
|
+
readonly runProcess: DeploymentProcessRunner;
|
|
27
|
+
}): Promise<EasAndroidConfigResult>;
|
|
28
|
+
//# sourceMappingURL=inspectEasAndroidConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspectEasAndroidConfig.d.ts","sourceRoot":"","sources":["../../../../src/providers/eas/android/inspectEasAndroidConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAIhG,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/D;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,GACjF;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEvE,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA0BlC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { resolveEasProcessEnvironment } from '../resolveEasProcessEnvironment';
|
|
2
|
+
import { parseEasAndroidConfig } from './parseEasAndroidConfig';
|
|
3
|
+
export async function inspectEasAndroidConfig(options) {
|
|
4
|
+
if (options.buildProfile.trim().length === 0)
|
|
5
|
+
return invalidProfile();
|
|
6
|
+
const environment = await resolveEasProcessEnvironment({ ...options, target: 'android' });
|
|
7
|
+
if (!environment.ok)
|
|
8
|
+
return { status: 'action-required', action: environment.action };
|
|
9
|
+
const result = await options.runProcess({
|
|
10
|
+
command: 'eas',
|
|
11
|
+
args: [
|
|
12
|
+
'config',
|
|
13
|
+
'--platform',
|
|
14
|
+
'android',
|
|
15
|
+
'--profile',
|
|
16
|
+
options.buildProfile,
|
|
17
|
+
'--json',
|
|
18
|
+
'--non-interactive',
|
|
19
|
+
],
|
|
20
|
+
cwd: options.projectRoot,
|
|
21
|
+
...(environment.env === undefined ? {} : { env: environment.env }),
|
|
22
|
+
});
|
|
23
|
+
if (result.exitCode !== 0)
|
|
24
|
+
return failure('EAS_ANDROID_CONFIG_FAILED');
|
|
25
|
+
let parsed;
|
|
26
|
+
try {
|
|
27
|
+
parsed = JSON.parse(result.stdout);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return failure('EAS_ANDROID_CONFIG_INVALID');
|
|
31
|
+
}
|
|
32
|
+
return parseEasAndroidConfig(parsed, options.packageName);
|
|
33
|
+
}
|
|
34
|
+
function invalidProfile() {
|
|
35
|
+
return failure('INVALID_ANDROID_BUILD_PROFILE', 'Android build profile is invalid.');
|
|
36
|
+
}
|
|
37
|
+
function failure(code, message = 'EAS Android project configuration could not be inspected.') {
|
|
38
|
+
return { status: 'failed', failure: { code, message, target: 'android', provider: 'eas' } };
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=inspectEasAndroidConfig.js.map
|