Skip to content

Typescript metro plugin doesn't build project references #3343

@aspirisen

Description

@aspirisen

What happened?

When you use project references TypeScript force you to build your source code. When you have clean codebase there are no builded files and @rnx-kit/metro-plugin-typescript throws error about that.

I think there should an option like in fork-ts-checker-webpack-plugin - { typescript: { build: true, mode: 'write-dts' } }

Ideally, just running metro should be enough, without separate running of tsc compliler

Affected Package

@rnx-kit/metro-plugin-typescript

Version

0.4.5

Which platforms are you seeing this issue on?

  • Android
  • iOS
  • macOS
  • Windows

System Information

System:
  OS: macOS 14.6.1
  CPU: (10) arm64 Apple M1 Max
  Memory: 9.35 GB / 64.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.7.0
    path: ~/.nvm/versions/node/v22.7.0/bin/node
  Yarn:
    version: 1.22.22
    path: ~/.nvm/versions/node/v22.7.0/bin/yarn
  npm:
    version: 10.8.2
    path: ~/.nvm/versions/node/v22.7.0/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.15.2
    path: /Users/dima/.rbenv/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.5
      - iOS 17.5
      - macOS 14.5
      - tvOS 17.5
      - visionOS 1.2
      - watchOS 10.5
  Android SDK: Not Found
IDEs:
  Android Studio: 2023.3 AI-233.14808.21.2331.11842104
  Xcode:
    version: 15.4/15F31d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.12
    path: /usr/bin/javac
  Ruby:
    version: 2.7.6
    path: /Users/dima/.rbenv/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react: Not Found
  react-native: Not Found
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: false

Steps to Reproduce

  1. Set-up typescript project references
  2. Add @rnx-kit/metro-plugin-typescript to your metro config
  3. Run expo ios

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions