Skip to content

@babel/core fails in all current variants #1137

Description

@MikeMcC399

Situation

Running citgm @babel/core fails all tests
macos/ubuntu/windows
Node.js 22/24/26

Item Status
npm package https://www.npmjs.com/package/@babel/core
npm status active
last published 8.0.7 Oct 7, 2026
weekly downloads 150,211,229
repo location https://github.com/babel/babel
repo last update to default branch Oct 8, 2026
repo status active
repo CI status runs in Node.js 25, 24 & 22 ubuntu, latest macos & windows
lookup - skip "aix", "ppc", "s390", "win32"
lookup maintainer 1 nicolo-ribaudo
lookup maintainer 2 JLHwung
lookup maintainer 3 liuxingbaoyu

Steps to reproduce

Run https://github.com/nodejs/citgm/actions/workflows/test-module.yml

Module to test: @babel/core
CITGM repository to checkout: nodejs/citgm
CITGM GitHub ref to checkout: main

Result

See https://github.com/MikeMcC399/citgm/actions/runs/34339097913

Image

citgm/lib/lookup.json

Lines 2 to 8 in 4d3d256

"@babel/core": {
"maintainers": ["nicolo-ribaudo", "JLHwung", "liuxingbaoyu"],
"prefix": "v",
"yarn": true,
"scripts": ["build", "test-only"],
"skip": ["aix", "ppc", "s390", "win32"]
},

cc: @nicolo-ribaudo @JLHwung @liuxingbaoyu

Activity

  1. liuxingbaoyu commented on Sep 9, 2026

    @liuxingbaoyu

    Thank you for the reminder, I will look into it.

  2. liuxingbaoyu commented on Sep 9, 2026

    @liuxingbaoyu

    There appear to be multiple issues, but for some reason, citgm is testing v8.0.1, whereas the latest version is https://github.com/babel/babel/tree/v8.0.4.

  3. MikeMcC399 commented on Sep 9, 2026

    @MikeMcC399
    ContributorAuthor

    https://www.npmjs.com/package/@babel/core?activeTab=versions shows that the npm registry has v8.0.1 as the latest published.

    $ npm view @babel/core version
    8.0.1
  4. liuxingbaoyu commented on Sep 9, 2026

    @liuxingbaoyu

    I see, Babel only publishes packages that have changed.
    Can we have citgm always fetch the main branch?

  5. targos commented on Sep 9, 2026

    @targos
    Member

    Yes, that can be done with "head": true in the lookup config.

  6. JLHwung commented on Sep 9, 2026

    @JLHwung

    The root cause of the failure is that browserslist is unhappy with the caniuse-lite provided in the repo snapshot of Babel v8.0.1.

    I think this issue can be addressed in the CIGTM script.

    Currently cigtm downloads

    https://github.com/babel/babel/archive/v$(npm view @babel/core version).tar.gz
    

    As a repo snapshot, the v8.0.1 contains an outdated yarn.lock, which browserslist is unhappy with. This is never an issue for our downstream npm consumers since the lockfile will not be published.

    I recommend we implement the following two changes to the cigtm script:

    1. Fetch the latest stable release version from github.com

    Because Babel only publishes changed packages, there are chances that the latest @babel/core version, with the lockfile in the repo snapshot, does not work with latest Node.js. So we should fetch the latest version from github.com rather than npm registry. For example, the following command should print v8.0.4 as of September 9, 2026:

    git ls-remote --tags --refs https://github.com/babel/babel.git | awk -F/ '{print $NF}' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -n1

    Then we can supply the version to the downloader.

    1. Set the BROWSERSLIST_IGNORE_OLD_DATA environment variable to 1 in the github workflow:

    Per https://github.com/browserslist/browserslist/blob/f46a5b74e75fec2bda62c6520fc2296bda3c0fe3/node.js#L476, it disables the browserslist check.


    As for head: true, I am afraid of noises from the HEAD, things might break especially during the time when Babel merges quite a few feature PRs before we do a minor release. If we set head: true chances are that an unreleased @babel/core might break the citgm. Most of time we will fix any conflict/errors after merging, but I don't feel it necessary to pop up the noise to here.

  7. MikeMcC399 commented on Oct 8, 2026

    @MikeMcC399
    ContributorAuthor

    If there anybody planning to make changes to the settings for @babel/core in citgm following on from the previous issue analysis?

    The alternative would be to add a temporary full skip entry until a fix is available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions