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

Add source map upload for Remix 3

未关闭
#24,678 1 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@chargome 已经在做这个了。

开始于 2026年9月24日。

评估

这个 Issue 还没有评估数据。

描述

Remix

Remix 3 has no build step and produces no output directory, so there is nothing on disk for a source map upload to read. Rebuild that artifact set by driving the app's own asset server.

  • Add a command that imports the app's asset server module, forces the browser module graph, and writes each compiled module and its source map to a directory.
  • Stamp each file with //# debugId= and each map with a debugId field, so sentry-cli can pair them.
  • Upload the directory.

This has to be its own bin, separate from the existing sentry-upload-sourcemaps. That one is the Remix 2 command, takes --buildPath and --urlPrefix, and assumes a build directory that Remix 3 never produces. It cannot be overloaded without breaking Remix 2 users. Name the new one consistently with the v3 subpaths, so it is obvious which Remix each belongs to.

Uploading goes through the Sentry CLI, via the sentry package that @sentry/remix already depends on for the Remix 2 command. It needs SENTRY_ORG, SENTRY_PROJECT and SENTRY_AUTH_TOKEN. Note the CLI requires authentication even for sourcemap inject, so no part of this can run unauthenticated in tests. That is why verifying against a real org is tracked separately.

getPreloads() is what forces compilation. The asset server compiles lazily, so without it only the few modules something happened to request get emitted, and the upload is quietly almost empty.

The command must run under our --import entry. Importing the app's asset server in a plain Node process builds an unpatched asset server, and the output carries no debug IDs at all. Warn loudly when no debug IDs are found, because that failure is otherwise silent.

Done when the emitted directory has one map per module, every pair shares a debug ID, and the emitted ID matches what the running server serves.

主要语言
TypeScript
星标
8.7k
派生
1.9k
平均合并
1 天 16 小时
30 天内合并 PR
552

环境准备

从这里开始

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

getsentry/sentry-javascript 的其他 Issue

查看 getsentry/sentry-javascript 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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