Metro's `typescriptEnvPath` and `disableTypeScriptGeneration` comments name `types-env.d.ts` and are missing from the built declaration

Ouverte Adaptée aux débutants
#563 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 5 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
84/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
typescript

Piste de recherche

Lisez src/metro/index.ts pour consulter les commentaires sur les options et la déclaration en double de hexColors, puis comparez la valeur par défaut documentée avec src/metro/typescript.ts. Exécutez bash reproduce.sh pour examiner la déclaration générée. Le travail est terminé lorsque les deux commentaires sur les options apparaissent dans dist/typescript/module/src/metro/index.d.ts, que la valeur par défaut correspond au nom de fichier généré et que la déclaration en double est résolue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Before submitting a new issue
  • I tested using the latest version of the library, as the bug might be already fixed.
  • I tested using a supported version of react native.
  • I checked for possible duplicate issues, with possible answers.
Bug summary

WithReactNativeCSSOptions in src/metro/index.ts documents typescriptEnvPath and disableTypeScriptGeneration with Defaults types-env.d.ts, where setupTypeScript writes react-native-css-env.d.ts (src/metro/typescript.ts), and writes both comments as /* */, which the built declaration drops, so an editor shows neither. The interface also repeats hexColors?: boolean, which CompilerOptions, the interface it extends, declares.

Library version

main at df32ce3

Environment info
System:
  OS: Windows 11 10.0.26300
  CPU: "(32) x64 AMD Ryzen 9 9950X3D 16-Core Processor          "
  Memory: 160.57 GB / 255.67 GB
Binaries:
  Node:
    version: 26.12.1
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 4.9.2
    path: C:\Users\<user>\AppData\Roaming\npm\yarn.CMD
  npm:
    version: 12.2.1
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK: Not Found
  Windows SDK:
    AllowDevelopmentWithoutDevLicense: Enabled
    Versions:
      - 10.0.19041.0
      - 10.0.26100.0
IDEs:
  Android Studio: AI-262.9437.185.2621.16467767
  Visual Studio: Not Found
Languages:
  Java:
    version: 17.0.20.1
    path: C:\Program Files\Microsoft\jdk-17.0.20.101-hotspot\bin\javac.EXE
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 19.2.3
    wanted: 19.2.3
  react-native:
    installed: 0.86.3
    wanted: 0.86.3
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found
Steps to reproduce
  1. Clone the reproducer branch, which is main at df32ce3 with one file added, reproduce.sh, and install:
    git clone --branch repro/metro-option-comments https://github.com/YevheniiKotyrlo/react-native-css
    cd react-native-css
    yarn install
    
  2. Run bash reproduce.sh.

reproduce.sh:

#!/usr/bin/env bash
# The default src/metro/index.ts documents, the one setupTypeScript writes, and the two options as yarn build publishes them
set -u

grep -n "types-env" src/metro/index.ts
grep -n "envPath = " src/metro/typescript.ts

yarn build > /dev/null 2>&1 || {
  echo "yarn build failed"
  exit 1
}
grep -n -B1 -E "typescriptEnvPath|disableTypeScriptGeneration" dist/typescript/module/src/metro/index.d.ts

Expected: the documented default is react-native-css-env.d.ts, and each option keeps its comment in dist/typescript/module/src/metro/index.d.ts.

Actual: both comments name types-env.d.ts, and the built declaration has neither.

The run's output on main at df32ce3, Windows 11, Node 26.12.1
13:  /* Specify the path to the TypeScript environment file. Defaults types-env.d.ts */
15:  /* Disable generation of the types-env.d.ts file. Defaults false */
10:  envPath = "react-native-css-env.d.ts",
4-export interface WithReactNativeCSSOptions extends CompilerOptions {
5:    typescriptEnvPath?: string;
6:    disableTypeScriptGeneration?: boolean;
Reproducible example repository

https://github.com/YevheniiKotyrlo/react-native-css/tree/repro/metro-option-comments

Langage dominant
TypeScript
Étoiles
166
Forks
45
Merge moyen
10 j 1 h
PR mergées (30 j)
4

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de nativewind/react-native-css

Toutes les issues de nativewind/react-native-css

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.