EAS fails to build after updating to sdk43 (managed workflow)

Hello, I have a similar problem as this topic EAS build on iOS fails but the conversation diverged away and author didn’t disclose how the problem was solved.

I’m trying to compile a build with the latest sdk 43 and it’s failing seemingly due to something related to the splash screen (output below). It fails both locally with expo prebuild and with eas build --platform=ios (I think the build id is b8d161cc-1113-4519-9b10-c969f99729ac)

Managed workflow,
EAS-cli version eas-cli/0.33.0 darwin-arm64 node-v14.17.0
expo-cli version 4.12.8

Here is the output from expo prebuild:

[ios.xcodeproj]: withIosXcodeprojBaseMod: (intermediate value).parseStringPromise is not a function
TypeError: [ios.xcodeproj]: withIosXcodeprojBaseMod: (intermediate value).parseStringPromise is not a function
    at createTemplateSplashScreenAsync (/Users/expo/workspace/heyfina-app/node_modules/@expo/prebuild-config/src/plugins/unversioned/expo-splash-screen/InterfaceBuilder.ts:322:29)
    at getSplashStoryboardContentsAsync (/Users/expo/workspace/heyfina-app/node_modules/@expo/prebuild-config/src/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.ts:74:19)
    at setSplashStoryboardAsync (/Users/expo/workspace/heyfina-app/node_modules/@expo/prebuild-config/src/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.ts:96:26)
    at /Users/expo/workspace/heyfina-app/node_modules/@expo/prebuild-config/src/plugins/unversioned/expo-splash-screen/withIosSplashXcodeProject.ts:22:31
    at action (/Users/expo/workspace/heyfina-app/node_modules/@expo/prebuild-config/node_modules/@expo/config-plugins/src/plugins/withMod.ts:214:29)
    at interceptingMod (/Users/expo/workspace/heyfina-app/node_modules/@expo/prebuild-config/node_modules/@expo/config-plugins/src/plugins/withMod.ts:100:27)
    at action (/Users/expo/.nvm/versions/node/v14.17.0/lib/node_modules/expo-cli/node_modules/@expo/config-plugins/src/plugins/withMod.ts:228:14)
    at interceptingMod (/Users/expo/.nvm/versions/node/v14.17.0/lib/node_modules/expo-cli/node_modules/@expo/config-plugins/src/plugins/withMod.ts:108:21)

Thanks in advance and let me know if you need more info!

It looks like in your case expo-cli running prebuild on eas builder is using older version of xml2js package(where parseStringPromise is not implemented), but I couldn’t reproduce that. Do you have expo-cli specified as dependency in your package.json or sth like that?

2 Likes

No, I don’t have expo-cli as a dependency.
I tried removing my projects node_modules folder and uninstalled/installed expo-cli (globally) but I still have the same problem.

@wkozyra I have another package on my dev dependencies aws-lambda that seems to import aws-sdk@* which imports an older version of xml2js. I’m not sure why but when I remove it from my project, expo prebuild starts working again. :man_shrugging:

Here is part of my yarn.lock

aws-lambda@^1.0.6:
  version "1.0.6"
  resolved "https://registry.yarnpkg.com/aws-lambda/-/aws-lambda-1.0.6.tgz#ba562478264646b51e9dc817d7d25ea468ed011b"
  integrity sha512-Z9lmZBiDYejzjMWuQSDXuZWAqAun6vGt7WApB1r0f8tLNf0IlTGsH30qENfP1kXeTbbMgPpt1bPEeMZjYDTXxQ==
  dependencies:
    aws-sdk "*"
    commander "^3.0.2"
    js-yaml "^3.13.1"
    watchpack "^2.0.0-beta.10"

aws-sdk@*:
  version "2.1013.0"
  resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1013.0.tgz#85babc473b0bc90cc1160eb48baf616ddb86e346"
  integrity sha512-TXxkp/meAdofpC15goFpNuur7fvh/mcMRfHJoP1jYzTtD0wcoB4FK16GLcny0uDYgkQgZuiO9QYv3Rq5bhGCqQ==
  dependencies:
    buffer "4.9.2"
    events "1.1.1"
    ieee754 "1.1.13"
    jmespath "0.15.0"
    querystring "0.2.0"
    sax "1.2.1"
    url "0.10.3"
    uuid "3.3.2"
    xml2js "0.4.19"

Your initial assessment helped me find the solution to my problem. Thanks for the help!

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.