Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to construct transformer: Error: Cannot parse /home/expo/.nvm/test/fast/Unit tests/mocks/project_dirs/nested-both/package.json as JSON: Unexpected end of JSON input #2233

Open
pencilcheck opened this issue Feb 16, 2024 · 2 comments
Labels
needs review Issue is ready to be reviewed by a maintainer

Comments

@pencilcheck
Copy link

pencilcheck commented Feb 16, 2024

Build/Submit details page URL

https://expo.dev/accounts/pencilcheck/projects/plushie-hellheim/builds/e12ed968-282a-4b5f-9eee-ea46f7873400

Summary

I already tried the expo doctor and npx expo install --check once, but it still give the same error. It was working with the old dependencies. I don't know why once I do 1) add local credentials to eas.json 2) and install react-native-iap, this issue started to happen on a new bundle identifier.

I also seen some suggested monorepo issue, but mine is not a monorepo.

Basically it used to build, but now it is showing this error.

BTW, I can eas build locally. This is a expo remote env issue. I have a feeling it has something to do with nvm. but i'm not sure.

ALSO, I tried development env and it worked, with the same code (perhaps the real issue is the lack of developmentClient?)

Actually I just tested by adding developmentClient to preview and it worked

    "development": {
      "node": "21.5.0",
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "resourceClass": "m-medium"
      },
      "android": {
        "image": "ubuntu-22.04-jdk-11-ndk-r21e"
      },
      "env": {
        "APP_VARIANT": "development"
      }
    },
    "preview": {
      "node": "21.5.0",
      "distribution": "internal",
      "ios": {
        "simulator": true,
        "resourceClass": "m-medium"
      },
      "android": {
        "image": "ubuntu-22.04-jdk-11-ndk-r21e"
      },
      "env": {
        "APP_VARIANT": "preview",
        "SERVER_URL": "https://replace-with-heroku-url"
      }
    },

For some reason anything other than development wouldn't work, I used "preview" and "production" and none of them worked.

Managed or bare?

bare

Environment

Need to install the following packages:
[email protected]
Ok to proceed? (y) y

  expo-env-info 1.2.0 environment info:
    System:
      OS: macOS 14.2.1
      Shell: 3.6.4 - /opt/homebrew/bin/fish
    Binaries:
      Node: 21.5.0 - ~/.nvm/versions/node/v21.5.0/bin/node
      Yarn: 1.22.19 - ~/.nvm/versions/node/v21.5.0/bin/yarn
      npm: 10.2.4 - ~/.nvm/versions/node/v21.5.0/bin/npm
      Watchman: 2023.12.04.00 - /opt/homebrew/bin/watchman
    Managers:
      CocoaPods: 1.14.3 - /opt/homebrew/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 23.2, iOS 17.2, macOS 14.2, tvOS 17.2, visionOS 1.0, watchOS 10.2
      Android SDK:
        API Levels: 30, 32, 33, 33
        Build Tools: 30.0.2, 30.0.3, 33.0.0, 33.0.2, 34.0.0
        System Images: android-29 | Google Play ARM 64 v8a, android-30 | Google Play ARM 64 v8a, android-30 | Google Play Intel x86_64 Atom, android-31 | Google Play ARM 64 v8a, android-33 | Google Play ARM 64 v8a, android-33 | Google Play Intel x86_64 Atom, android-UpsideDownCake | Google Play ARM 64 v8a
    IDEs:
      Android Studio: 2021.2 AI-212.5712.43.2112.8609683
      Xcode: 15.2/15C500b - /usr/bin/xcodebuild
    npmPackages:
      @expo/metro-config: ~0.10.0 => 0.10.7
      expo: 49 => 49.0.21
      expo-router: ^2.0.0 => 2.0.14
      react: 18.2.0 => 18.2.0
      react-dom: 18.2.0 => 18.2.0
      react-native: 0.72.6 => 0.72.6
      react-native-web: ~0.19.6 => 0.19.10
    Expo Workflow: managed
Need to install the following packages:
[email protected]
Ok to proceed? (y) y
(node:96320) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check dependencies for packages that should not be installed directly
✔ Check for common project setup issues
✔ Check for issues with metro config
✔ Check npm/ yarn versions
✔ Check Expo config (app.json/ app.config.js) schema
✖ Check that packages match versions required by installed Expo SDK
✔ Check for legacy global CLI installed locally
✔ Check that native modules do not use incompatible support packages
✖ Check that native modules use compatible support package versions for installed Expo SDK

Detailed check results:

Expected package @expo/config-plugins@~7.2.2
Found invalid:
  @expo/[email protected]
  (for more info, run: npm why @expo/config-plugins)
Advice: Upgrade dependencies that are using the invalid package versions0.

(node:96470) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Some dependencies are incompatible with the installed expo version:
  [email protected] - expected version: 0.72.10
  @expo/[email protected] - expected version: ~7.2.2
  @types/[email protected] - expected version: ~18.2.14
  [email protected] - expected version: ^5.1.3
Your project may not work correctly until you install the correct versions of the packages.
Fix with: npx expo install --fix
Found outdated dependencies
Advice: Use 'npx expo install --check' to review and upgrade your dependencies.

One or more checks failed, indicating possible issues with the project.

Error output

Failed to construct transformer:  Error: Cannot parse /home/expo/.nvm/test/fast/Unit tests/mocks/project_dirs/nested-both/package.json as JSON: Unexpected end of JSON input
    at Object.worker (/home/expo/workingdir/build/node_modules/metro-file-map/src/worker.js:80:13)
    at execFunction (/home/expo/workingdir/build/node_modules/jest-worker/build/workers/processChild.js:137:17)
    at execHelper (/home/expo/workingdir/build/node_modules/jest-worker/build/workers/processChild.js:116:5)
    at execMethod (/home/expo/workingdir/build/node_modules/jest-worker/build/workers/processChild.js:120:5)
    at process.messageListener (/home/expo/workingdir/build/node_modules/jest-worker/build/workers/processChild.js:38:7)
    at process.emit (node:events:519:28)
    at emit (node:internal/child_process:951:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'Error'
}

Reproducible demo or steps to reproduce from a blank project

I don't know how to reproduce it with a small project since I have a lot of dependencies and project sensitive configuration.

@pencilcheck pencilcheck added the needs review Issue is ready to be reviewed by a maintainer label Feb 16, 2024
@szdziedzic
Copy link
Member

Hi, it's harder for me to help you without the repro 🤔.

I can't see anything that the EAS Build process is doing that could be responsible for this issue occurring for you (at least for now) 🤔.

I can eas build locally

Did you check that the versions of the tools on the image that you are using match the versions that you have installed locally?

@pencilcheck
Copy link
Author

I set the version of the tools in package.json and also having yarn.lock files, the version shouldn't be different

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs review Issue is ready to be reviewed by a maintainer
Projects
None yet
Development

No branches or pull requests

2 participants