Skip to content

Bug: New version of acorn v8.1.5 breaks build #659

@lumirlumir

Description

@lumirlumir

Which packages are affected?

  • espree
  • eslint-scope
  • eslint-visitor-keys

Environment

Node version: 20.18.0
npm version: 10.9.2
ESLint version: HEAD
Operating System: Windows 11

What did you do?

Hello,

Currently the CI build is failing due to the newly released acorn v8.15.0, which was published about 24 hours ago.

I’ve reviewed the changes between v8.14.1...v8.15.0 and identified the source of the issue. Although this release introduces some ES2026 features, I think the bug is not related to those features.

The problem comes from this change:

acornjs/acorn@8.14.1...8.15.0#diff-6a29ed00e92d69844ec35883ec62f4893f40687e70bcd87905757aeaa6fe0af5

Image

- if (this.tok.type === tt.num && node.raw.charCodeAt(node.raw.length - 1) === 110)
-     node.bigint = node.raw.slice(0, -1).replace(/_/g, "")
+ if (this.tok.type === tt.num && node.raw.charCodeAt(node.raw.length - 1) === 110)
+     node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, "")

To reproduce the issue, you can simply reinstall packages (with the latest acorn) and run:

npm run test -w packages/espree

You can simply reproduce this bug by running npm run test -w packages/espree after reinstalling packages with latest acorn.

What did you expect to happen?

Works as before.

What actually happened?

Caused errors.

Link to Minimal Reproducible Example

https://github.com/eslint/js/actions/runs/15529797360/job/43716117138

Participation

  • I am willing to submit a pull request for this issue.

Additional comments

I’m not sure whether this should be fixed in acorn, or if it would be better to adjust some test cases or logic in espree instead.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Complete

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions