{
  "added_at": "2026-10-20",
  "additional_evidence_urls": [
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/package.json",
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/package-lock.json",
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/LICENSE",
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/src/pipeline.js",
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/src/analyze/requests.js",
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/src/sourcemap.js",
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/src/loader.js",
    "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/test/pipeline.test.js"
  ],
  "category": "javascript-electron",
  "description_en": "Static-analysis CLI for compiled React JavaScript that produces readable bundle output and inferred API-request, route and application-constant reports. It can extract embedded source-map contents when available.",
  "description_zh": "面向已构建 React JavaScript 的静态分析 CLI，可输出更易读的代码，以及推断的 API 请求、路由和应用常量报告；存在 source map 内嵌源码时可将其提取。",
  "entry_url": "https://awesomerea.org/resources/react-decode/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/react-decode/",
  "evidence_url": "https://github.com/alexandra-seredkina/React-Decode/blob/80e8bda2912b7e3f9e01bc3a0034a61ea488b14a/README.md",
  "group": "tools",
  "id": "react-decode",
  "json_url": "https://awesomerea.org/resources/react-decode/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/react-decode/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/react-decode/index.md",
  "name": "React-Decode",
  "name_zh": "React-Decode",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "The reviewed package declares Node.js >=20, but its locked Babel 8 dependencies require ^22.18.0 or >=24.11.0. The lock pins Babel parser/traverse 8.0.7, generator/types 8.0.6 and Prettier 3.9.10.",
    "Provide authorized JavaScript bundles, HTML, source maps or a URL. URL mode retrieves scripts, chunks and maps; source extraction requires strings in sourcesContent, not just mapping coordinates.",
    "API and value inference is bounded and heuristic: wrapper discovery uses at most six rounds, dynamic values can remain placeholders, and inferred request/response fields are not a verified API specification. Control-flow flattening and string-array obfuscation are outside the documented scope.",
    "The MIT LICENSE and package.json agree, but package.json declares 0.1.0 while the root lock metadata says 1.0.0 and ISC. Input bundles retain their own rights.",
    "Reports may contain credential-like strings from the input; --json prints them unmasked."
  ],
  "requirements_zh": [
    "所审阅的包声明 Node.js >=20，但锁定的 Babel 8 依赖要求 ^22.18.0 或 >=24.11.0。lock 固定 parser/traverse 8.0.7、generator/types 8.0.6 和 Prettier 3.9.10。",
    "输入需为有权分析的 JavaScript 包、HTML、source map 或 URL。URL 模式会获取脚本、分块和映射文件；源码提取需要 sourcesContent 中的字符串，仅有映射坐标并不足够。",
    "API 与值推断具有范围上限且依赖启发式规则：请求封装发现最多迭代六轮，动态值可能仍是占位符，推断的请求／响应字段不等于已验证的 API 规范。文档明确不处理控制流平坦化和字符串数组混淆。",
    "MIT LICENSE 与 package.json 一致，但 package.json 标记 0.1.0，而根 lock 元数据标记 1.0.0 与 ISC。输入代码仍受其自身权利约束。",
    "报告可能包含输入中的凭据形态字符串，--json 会原样输出而不遮蔽。"
  ],
  "targets": [
    "website"
  ],
  "url": "https://github.com/alexandra-seredkina/React-Decode",
  "verification": "source-reviewed",
  "verified_at": "2026-10-20"
}
