Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Build-test fixtures that no longer test what they claim

已关闭 适合新手
#8,827 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

已经有一个关联 PR 被合并了。

  • #8838 来自 @cknitt —— 已合并

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
78/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
javascript, node.js, ocaml
领域
testing

调研方向

阅读 tests/build_tests/rescript_tools_binary_path/input.js 及其 fixture 配置,然后检查 weird_deps 和 weird_devdeps 的 rescript.json 文件。为 rescript_tools_binary_path 添加一个 fixture package.json,并将其他 fixture 的 sources 设置为空列表。完成标准是这些 fixture 能验证预期的包导入行为,并且不再列出已删除的源代码目录。

由索引模型根据 Issue 内容生成。

描述

Found by adversarial experiments on semantic analysts.

Each item below is a build-test fixture whose setup no longer matches its purpose.

  • rescript_tools_binary_path passes with the import it guards against.
    • input.js runs the compiled src/Main.mjs and src/Main.cjs inside the repository.
    • The fixture has no package.json, so Node resolves # specifiers in those files against the repository root package.json, which defines #cli/*.
    • The bug fixed by #8694 (@module("#cli/bins") emitted into user code) therefore does not reproduce here. The commit message of 45446347c says the test uses its own package.json, but none is checked in.
    • Reproduction at 8d51b9ce7 in tests/build_tests/rescript_tools_binary_path, with node_modules/rescript linked to the repo root as input.js does. The two files contain the JS that bsc emits for the pre-#8694 external:
      printf 'import * as Bins from "#cli/bins";\nconsole.log(Bins.rescript_tools_exe);\n' > src/Old.mjs
      printf 'let Bins = require("#cli/bins");\nconsole.log(Bins.rescript_tools_exe);\n' > src/Old.cjs
      node src/Old.mjs; node src/Old.cjs   # both print …/bin/rescript-tools.exe
      echo '{"name":"user-project","private":true}' > package.json
      node src/Old.mjs   # ERR_PACKAGE_IMPORT_NOT_DEFINED
      node src/Old.cjs   # Error: Cannot find module '#cli/bins'
      
    • With that package.json in place, the current Main.mjs and Main.cjs (importing rescript/tools) still print the binary path.
    • Fix: check in a fixture package.json.
  • weird_deps and weird_devdeps list deleted source folders.
主要语言
ReScript
星标
7.5k
派生
483
平均合并
1 天 4 小时
30 天内合并 PR
127

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

rescript-lang/rescript 的其他 Issue

查看 rescript-lang/rescript 的全部 Issue

相似的 Issue

更多 Testing & QA Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。