工具
shuji 源映射源码恢复工具
命令行工具,可把源映射(source map)中内嵌的原始 JavaScript 和 CSS 源码重新写出为文件。它能读取 .map 文件,也能读取 sourceMappingURL 中内联了 Base64 或 URL 编码映射、或指向同一目录下映射文件的 JavaScript 和 CSS 文件,并可按正则表达式筛选、递归遍历目录。默认只按文件名平铺输出,使用 --preserve 则保留映射中的目录结构。
使用条件与局限
- 审阅时的 npm 版本为 shuji 0.8.0,发布于 2023-12-04,要求 Node.js 14.15.0+;仓库只有标签,没有发布 GitHub Release。所审阅的 main 分支提交领先该版本 139 个提交且尚未发布:它把最低要求提高到 Node.js 24.12.0(README 已按此说明),把代码检查迁移到 Oxlint,并自 2026-10-11 起拒绝会跳出输出目录的输出路径。
- 用 npm 全局安装命令行工具,对文件或目录运行,并用 -o 指定输出目录;默认筛选条件只匹配 .map 文件,因此要扫描 .js 或 .css 文件中的内联映射需改用 -M。只读取本地文件中的映射:被引用的映射必须位于相对代码文件的路径上,不会获取远程映射。
- 只有源码内容嵌入在映射 sourcesContent 中的源文件才会被写出;只列出路径而无内容的条目会被跳过,因此未包含源码的映射无法恢复这些文件。已存在的文件不会被覆盖,所以平铺输出时同名源文件会被跳过,除非使用 --preserve。
- 采用 MIT 许可。恢复出的文件仍是原作者的代码,适用其自身条款,因此只应分析有权查看的源映射。本次未处理任何源映射。
关于此条目
- 类型
- 工具
- 类别
- 网站分析工具
- 关联
- 基础工具
- 目标
- 网站
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · paazmaya/shuji · 修订 a97c6df
- package.json GitHub · paazmaya/shuji · 修订 a97c6df
- CHANGELOG.md GitHub · paazmaya/shuji · 修订 a97c6df
- lib/find-map.js GitHub · paazmaya/shuji · 修订 a97c6df
- lib/read-sources.js GitHub · paazmaya/shuji · 修订 a97c6df
- lib/write-sources.js GitHub · paazmaya/shuji · 修订 a97c6df
- LICENSE GitHub · paazmaya/shuji · 修订 a97c6df
- https://www.npmjs.com/package/shuji/v/0.8.0