Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

# Runtime Error: `(0 , superstruct_1.boolean) is not a function` in browser environment

Đang mở
#95 0 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
30/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
react, typescript
Lĩnh vực
frontend, web-dev

Hướng nghiên cứu

Tái hiện lỗi bằng một Create React App sử dụng CRACO và dependency @openzeppelin/merkle-tree được liệt kê. Bắt đầu bằng cách kiểm tra @metamask/abi-utils/dist/parsers/bool.js và phần xử lý superstruct.boolean trong bundle. Được xem là hoàn tất khi ứng dụng trên trình duyệt tải mà không gặp runtime error này và các ABI utilities bị ảnh hưởng vẫn có thể sử dụng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Following up on this issue https://github.com/ethereum-attestation-service/eas-sdk/issues/125

When using @metamask/abi-utils in a React application (Create React App with CRACO), we encounter a runtime error related the superstruct's boolean function.

Error Details Browser console error:

bundle.js:3328 Uncaught TypeError: (0 , superstruct_1.boolean) is not a function
    at ./node_modules/@metamask/abi-utils/dist/parsers/bool.js (bundle.js:3328:76)
    at options.factory (bundle.js:167452:30)
    at __webpack_require__ (bundle.js:166819:32)
    at fn (bundle.js:167080:21)
    at hotRequire (bundle.js:167435:47)
    at ./node_modules/@metamask/abi-utils/dist/parsers/index.js (bundle.js:3752:14)
    at options.factory (bundle.js:167452:30)
    at __webpack_require__ (bundle.js:166819:32)
    at fn (bundle.js:167080:21)
    at hotRequire (bundle.js:167435:47)

Steps to Reproduce

  1. Create a new React application using Create React App
  2. Install CRACO: yarn add @craco/craco
  3. Install @openzeppelin/merkle-tree (or @ethereum-attestation-service/[email protected] as per this issue https://github.com/ethereum-attestation-service/eas-sdk/issues/125) which depends on @metamask/abi-utils
  4. Add basic CRACO configuration for webpack
  5. Start the development server: yarn start
  6. The error appears in the browser console immediately upon loading

Environment

  • React version: 18.3.1
  • Node.js version: 20.18
  • Yarn version: 1.22.17
  • Create React App with CRACO

Dependencies

{
  "dependencies": {
    "@openzeppelin/merkle-tree": "^1.0.8"
  }
}

Attempted Solutions

  1. Added webpack configuration to handle ESM/CommonJS conversion
  2. Cleared node_modules and yarn cache
  3. Added specific babel-loader configuration for MetaMask packages

Additional Context

The error occurs specifically in the browser environment and seems to be related to how the superstruct exports are being handled during bundling. The issue appears to be a module resolution problem where the boolean function from is not being properly imported/exported.

Questions

  1. Is there a recommended way to use @metamask/abi-utils in a browser environment?
  2. Are there specific webpack/bundler configurations that should be used?
  3. Is this a known issue with the package's browser compatibility?

Thank you for your help in resolving this issue.

Ngôn ngữ chính
TypeScript
Star
24
Fork
8
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của MetaMask/abi-utils

Tất cả issue của MetaMask/abi-utils

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.