Gitignore、SemVer、Source Map 与 WASM 本地检查指南
检查给定路径规则、版本约束、原始堆栈位置与 WASM 静态描述,保留每份报告的适用范围。
在明确根目录下检查 Gitignore
粘贴一份根 .gitignore 与区分大小写的相对路径;目录用末尾斜线标记。报告列出最后匹配规则行,以及阻挡后续重新包含的父目录。*.log 后接 !keep.log 时,a.log 被忽略,keep.log 被明确包含。
build/ 后仅添加 !build/keep.txt,仍会排除 build/keep.txt,因为父目录仍被排除。若需要遍历,应同时允许父目录。工具不判断跟踪状态、嵌套或全局排除,也不证明路径真实存在。规则与路径合计最多 1 MiB、5,000 条规则和 10,000 条路径。
| 检查 | 随报告保留 |
|---|---|
| Gitignore | 根目录范围、路径类型及阻挡父目录 |
| SemVer | 精确范围、预发布选项与原始顺序 |
| Source map | 生成文件名及输入列基准 |
| WASM | 浏览器引擎及静态描述范围 |
使用一致的 SemVer 范围及预发布策略
输入 1.2.0+build.2 这样的完整严格版本,以及 ^1.2.0 这样的 npm 范围;空范围表示 *。报告保留原始字符串与来源行号,按优先级排序;无匹配时最高版本为 null。列表与范围合计最多 1 MiB、10,000 条版本。
构建元数据不改变优先级。1.2.0+build.2 与 1.2.0+build.1 并列时保留输入顺序,最高匹配选择第一条。npm 默认策略会排除许多预发布版本,除非范围明确接纳对应版本元组。只有需要扩大策略时才打开预发布选项;该列表检查不查询 dist-tag 或包是否实际可下载。
明确生成文件名与列编号基准
提供普通 v3 Source Map、生成文件名,以及堆栈或坐标列表。堆栈展示的列往往从 1 开始,Source Map 原始列从 0 开始;明确选择输入基准,并随映射文本保留。文件名不符、无映射位置及无法解析的行仍在完整报告中可见。
Map 与堆栈合计最多 5 MiB、10,000 帧;indexed sections 和损坏映射会拒绝。工具在本地解释记录的源路径及可选名称,不获取源 URL。位置映射与源文件恢复不同:缺失的 sourcesContent 不能由坐标重建。
检查 WASM host 名称,无需运行模块
选择不超过 1 MiB 的 core .wasm 文件。当前浏览器验证并编译 Module,再读取导入模块名、导入导出名称及描述种类;不创建 Instance,不调用导入、start 或导出函数。小型示例模块可复现一组导入导出。
描述种类不提供完整函数签名,也不证明 host 实现兼容。空名称、Unicode 名称及零条描述都是合法情况。编译拒绝可能来自损坏字节或当前引擎不支持的特性;在兼容检查环境中核对后,才能判断文件本身是否有效。
保留完整输出并有针对性地恢复
可见表格最多预览 200 行,较大集合应下载完整 JSON 或 CSV;堆栈映射还提供可复制文本。CSV 电子表格保护可能给危险单元格加前缀,JSON 保留原始字符串。
出错后修正所指出的路径、版本、映射或二进制,不能把部分表格当作成功结果。保存原始文件与设置;不同根目录、范围、生成文件名或列基准,可能产生不同但合法的答案。
交接报告前
- 保留原始输入与明确设置。
- 检查未命中、未映射及不可用记录。
- 表格截断时下载完整记录。
- 核对接收工作流使用相同根目录、范围、坐标或 host 合同。
参考资料
- .gitignore 规则测试
具体使用者任务来源;支持范围以当前工具说明为准。
- SemVer 范围测试
具体使用者任务来源;支持范围以当前工具说明为准。
- Source map 堆栈还原
具体使用者任务来源;支持范围以当前工具说明为准。
- WebAssembly 导入导出检查
具体使用者任务来源;支持范围以当前工具说明为准。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
Gitignore 路径规则检查按单个根目录 Gitignore 检查指定路径,列出最后匹配规则及阻挡重新包含的父目录。
修改忽略规则前,先查清某个路径为什么被忽略。使用原始路径拼写,以末尾斜杠声明目录,并查看最终生效规则。
操作步骤
- 粘贴或打开一个根目录 .gitignore,每行输入一条路径,保留大小写和有意义的空格。
- 用末尾 / 标记目录,查看状态、规则行号及阻挡父目录。
- 下载完整报告;实际仓库中的已跟踪文件、全局规则和嵌套规则需要另外检查。
可调选项
- 保护 CSV 表格单元格
- 默认开启
能力与限制
- 一个 UTF-8 规则文件或粘贴规则,加路径列表,合计不超过 1 MiB。最多 5,000 个物理规则行、10,000 条路径;每条路径最多 1,024 个 UTF-16 单元、32 个层级。最多执行 2,000,000 次规则匹配。所选文件优先。
- 路径是相对规则根目录、区分大小写的 POSIX 名称。末尾 / 声明目录,未标记的最后一段声明文件。不接受绝对路径、反斜杠、空段、.、.. 或控制字符。不读取仓库、已跟踪状态、全局规则或嵌套规则。
- 复用锁定的 ignore 7.0.5 编译规则,支持转义 #/!、空格、字符集合、** 和否定。最后直接匹配的规则生效;被排除的父目录阻止重新包含子路径,报告显示该父目录及其生效规则。允许空规则或纯注释。支持 LF/CRLF,拒绝仅 CR 换行。
- 表格显示前 200 条路径,JSON/CSV 下载保留全部路径。默认对类似公式的 CSV 单元格加单引号;JSON 保留路径与规则原文。
SemVer 范围版本筛选按 npm SemVer 范围筛选严格版本列表,按优先级排序并选出最高匹配版本。
使用已知版本列表审查依赖约束,查看哪些版本符合范围、预发布选项如何改变结果,以及最终选中的版本原文。
操作步骤
- 每行输入一个严格版本,并填写准确的 npm 范围。
- 选择是否包含预发布版本,查看匹配行和最高版本。
- 下载报告,并确认接收端包管理器使用相同范围与预发布策略。
可调选项
- 包含预发布版本
- 默认关闭
- 保护 CSV 表格单元格
- 默认开启
能力与限制
- 一个 UTF-8 版本列表文件或粘贴列表,加范围文本,合计不超过 1 MiB。最多 10,000 个非空版本行,每个版本最多 256 字符,范围最多 4,096 字符。跳过空行并保留原始行号,所选文件优先。
- 版本必须是严格 major.minor.patch,可带预发布和构建元数据。拒绝 v/= 前缀、前导零和两侧空格。主次修订版本及纯数字预发布标识须在 JavaScript 安全整数范围内,更大的数字预发布标识会明确拒绝。
- 范围遵循锁定的 node-semver 7.7.3,支持比较器组、||、^、~、连字符和 X 范围;空范围表示 *。默认排除未被范围明确允许的预发布元组,可通过可见选项扩大预发布匹配。不查询注册表、dist-tag 或发布状态。
- 构建元数据保留在输出中,但不影响版本优先级。同优先级按输入顺序排列;maxSatisfying 在最高版本并列时返回最先输入的原文。预览显示前 200 行,JSON/CSV 保留全部;表格保护只影响 CSV。
Source map 堆栈映射通过普通 v3 source map 映射指定堆栈或坐标,保留未映射帧并明确列编号基准。
从本地生成代码堆栈恢复原始源码位置。提供配套 map 和准确的生成文件名,逐行检查已映射、未映射及其他文件的帧。
操作步骤
- 打开本地普通 .map 文件或粘贴 JSON,填写堆栈中准确的生成文件名或 URL。
- 粘贴堆栈或切换到坐标 JSON,映射前选择生成列基准。
- 检查每行状态和从 0 开始的原始列,下载完整报告及保留的未映射文本。
可调选项
- 准确生成文件名或 URL
- bundle.js
- 帧输入
- 堆栈文本 · 坐标 JSON
- 生成列编号
- 从 1 开始 · 从 0 开始
- 保护 CSV 表格单元格
- 默认开启
能力与限制
- 一个 UTF-8 source map 文件或粘贴 JSON,加堆栈或坐标,合计不超过 5 MiB。最多 10,000 个帧、各 10,000 个源码/名称条目、100,000 个生成映射行和 100,000 个映射段。所选文件优先。
- 只接受普通 version 3 map,拒绝 indexed sections。严格检查 VLQ 段形状、源码/名称索引、有序且不重复的生成列及非负原始位置。VLQ 值和位置限定在兼容有符号 32 位解码器的范围。拒绝重复或规范化后冲突的源码名称。
- 生成行从 1 开始,生成列基准可显式选择从 0 或从 1 开始;原始列始终从 0 开始。生成文件名必须完全一致,在同一生成行按不超过目标列的最近映射段查找。不猜文件名、不联网、不执行源码,sourceRoot 和源码名称保留可见。
- 支持有限 Chrome 风格 at 文件:行:列 / at 名称 (文件:行:列)、Firefox 名称@文件:行:列、裸坐标,或 {file?,line,column} JSON 数组。无法解析的行、未映射位置和其他文件帧保留。预览显示 200 行,完整 JSON/CSV 和映射文本可下载。
WASM 导入导出检查读取本地核心 WebAssembly 模块的导入导出描述,不实例化模块,也不执行 start 函数。
接入应用前,先检查 WASM 声明了哪些导入和导出名称。模块字节留在浏览器中,工具不执行其中的代码。
操作步骤
- 选择本地二进制 WASM,或加载明确标记的演示模块。
- 检查导入命名空间、准确名称和描述类型,确认结果中的未实例化状态。
- 下载报告,并在实际目标环境另行验证完整运行兼容性。
可调选项
- 未选文件时使用内置示例
- 默认关闭
- 保护 CSV 表格单元格
- 默认开启
能力与限制
- 一个不超过 1 MiB 的二进制 .wasm 文件,导入导出描述合计最多 10,000 条。所选文件优先于内置示例;只有显式启用示例才会检查并提供其真实模块字节下载。
- 检查 WebAssembly 魔数与核心 version 1,再调用当前浏览器引擎的 validate/Module API。编译拒绝可能来自损坏字节或引擎未支持的特性,不能据此认定所有引擎都不接受。
- 列出方向、导入模块/名称、导出名称和类型,支持空名称及 Unicode。合法空模块返回零条描述。不实例化、不调用导入、不执行 start,也不重建签名或检查代码、数据、自定义段。
- 模块编译在现有工具 worker 内执行并受看门狗约束。预览显示前 200 条,JSON/CSV 保留全部,表格保护只影响 CSV。合法模块也可能没有预期导入导出,报告不推断运行行为。