The contributor docs name three of the seven test folders under `src/__tests__`

オープン 初心者向け
#566 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 5 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
84/100
issue の種類
ドキュメント
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
react-native, typescript
領域
documentation

調査の方向性

DEVELOPMENT.md、.claude/skills/add-test/SKILL.md、.claude/skills/triage/SKILL.mdを読み、記述内容をsrc/__tests__/の下にある7つのフォルダーと比較してください。各ファイルを更新し、7つすべてのフォルダーを記載するとともに、babel/、compiler/、native/の既存の説明を維持してください。issueのreproduce.shを実行してください。すべてのコントリビューター向けドキュメントに7つすべてのフォルダーが記載されていると報告され、ステータス0で終了すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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

DEVELOPMENT.md says the tests in src/__tests__/ are organized by domain into babel/, compiler/ and native/, the add-test skill that the repository "has three test domains", and the triage skill that src/__tests__/ has "three subdirectories". main has seven: e2e/, metro/, vendor/ and web/ are in none of the three.

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:
    git clone --branch repro/contributor-docs-test-folders https://github.com/YevheniiKotyrlo/react-native-css
    cd react-native-css
    
  2. Run ./reproduce.sh. It lists the folders under src/__tests__ and reads which of them each of the three files names, and ends with one line: DEFECT: … and exit status 1 while a file leaves a folder out, FIXED: … and 0 once every file names every folder, ERROR: … and 2 when git does not run or a file is gone.

reproduce.sh:

#!/usr/bin/env bash
# Compares the folders under src/__tests__ with the test folders each contributor doc names.
# Exits 1 while a doc leaves a folder out, 0 once every doc names every folder, and 2 when a step before the check fails or a file
# it reads is gone.
set -uo pipefail

docs=(DEVELOPMENT.md .claude/skills/add-test/SKILL.md .claude/skills/triage/SKILL.md)

verdict() {
  printf '%s\n' "$2"
  exit "$1"
}

system=$(uname -sr) || verdict 2 "ERROR: uname failed"
git_version=$(git --version) || verdict 2 "ERROR: git does not run"
revision=$(git rev-parse --short HEAD) || verdict 2 "ERROR: this is not a git checkout"
echo "System: $system, $git_version, react-native-css $revision"

listing=$(git ls-tree -d --name-only HEAD src/__tests__/) || verdict 2 "ERROR: git cannot list src/__tests__"
[ -n "$listing" ] || verdict 2 "ERROR: src/__tests__ holds no folder"
mapfile -t folders <<< "${listing//src\/__tests__\//}"
echo "src/__tests__ holds ${#folders[@]} folders: ${folders[*]}"

short=()
for doc in "${docs[@]}"; do
  [ -f "$doc" ] || verdict 2 "ERROR: $doc is gone"
  missing=()
  for folder in "${folders[@]}"; do
    grep -q -E "(\`$folder/?\`|__tests__/$folder([/\`]|$))" "$doc" || missing+=("$folder")
  done
  named=$((${#folders[@]} - ${#missing[@]}))
  if [ "${#missing[@]}" -eq 0 ]; then
    echo "$doc: names all ${#folders[@]}"
  else
    echo "$doc: names $named of ${#folders[@]}, leaving out ${missing[*]}"
    short+=("$doc names $named of ${#folders[@]}")
  fi
done

if [ "${#short[@]}" -eq 0 ]; then
  verdict 0 "FIXED: every contributor doc names all ${#folders[@]} folders under src/__tests__"
fi
summary=$(IFS=';' && echo "${short[*]}")
verdict 1 "DEFECT: the contributor docs leave out folders under src/__tests__: ${summary//;/; }"

Expected: each of the three files names all seven folders, and what it says of babel/, compiler/ and native/ stays. The script ends with FIXED: every contributor doc names all 7 folders under src/__tests__ and exits 0.

Actual: each names three and leaves out e2e, metro, vendor and web; the script ends with this line and exits 1:

DEFECT: the contributor docs leave out folders under src/__tests__: DEVELOPMENT.md names 3 of 7; .claude/skills/add-test/SKILL.md names 3 of 7; .claude/skills/triage/SKILL.md names 3 of 7
The run's output on main at df32ce3, Windows 11, git 2.56.0
System: MINGW64_NT-10.0-26300 3.6.10-5a1665c8.x86_64, git version 2.56.0.windows.4, react-native-css 9fbae76
src/__tests__ holds 7 folders: babel compiler e2e metro native vendor web
DEVELOPMENT.md: names 3 of 7, leaving out e2e metro vendor web
.claude/skills/add-test/SKILL.md: names 3 of 7, leaving out e2e metro vendor web
.claude/skills/triage/SKILL.md: names 3 of 7, leaving out e2e metro vendor web
DEFECT: the contributor docs leave out folders under src/__tests__: DEVELOPMENT.md names 3 of 7; .claude/skills/add-test/SKILL.md names 3 of 7; .claude/skills/triage/SKILL.md names 3 of 7
Reproducible example repository

https://github.com/YevheniiKotyrlo/react-native-css/tree/repro/contributor-docs-test-folders

主要言語
TypeScript
スター
166
フォーク
45
平均マージ
12日 1時間
マージ済み PR(30日)
5

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nativewind/react-native-css のほかの issue

nativewind/react-native-css の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。