Skip to content

@babel/register interfers with Node built-in type stripping for ignored files #17903

@andersk

Description

@andersk

💻

  • Would you like to work on a fix?

How are you using Babel?

@babel/register or @babel/node

Input code

a.js

require("@babel/register")({
  extensions: [".ts"],
  ignore: ["./b.ts"],
  presets: ["@babel/preset-typescript"],
});
require("./b.ts");

b.ts

let n: number;

Configuration file name

No response

Configuration

No response

Current and expected behavior

I want to use @babel/register for only some of my TypeScript files and use Node’s built-in type stripping for others, as configured by ignore or only. But it doesn’t work: Babel disables Node’s built-in type stripping for ignored files.

$ node a.js
/tmp/test/b.ts:1
let n: number;
     ^

SyntaxError: Unexpected token ':'
    at wrapSafe (node:internal/modules/cjs/loader:1743:18)
    at Module._compile (node:internal/modules/cjs/loader:1786:20)
    at Module._compile (/tmp/test/node_modules/pirates/lib/index.js:129:24)
    at node:internal/modules/cjs/loader:1943:10
    at Object.newLoader [as .ts] (/tmp/test/node_modules/pirates/lib/index.js:134:7)
    at Module.load (node:internal/modules/cjs/loader:1533:32)
    at Module._load (node:internal/modules/cjs/loader:1335:12)
    at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
    at Module.require (node:internal/modules/cjs/loader:1556:12)
    at require (node:internal/modules/helpers:152:16)
    at Object.<anonymous> (/tmp/test/a.js:7:1)
    at Module._compile (node:internal/modules/cjs/loader:1812:14)
    at Object..js (node:internal/modules/cjs/loader:1943:10)
    at Module.load (node:internal/modules/cjs/loader:1533:32)
    at Module._load (node:internal/modules/cjs/loader:1335:12)
    at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
    at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
    at node:internal/main/run_main_module:33:47

Node.js v24.14.0

Environment

  System:
    OS: Linux 6.19 cpe:/o:nixos:nixos:26.05 26.05 (Yarara)
  Binaries:
    Node: 24.14.0 - /home/anders/.nix-profile/bin/node
    Yarn: 1.22.22 - /home/anders/.nix-profile/bin/yarn
    npm: 11.9.0 - /home/anders/.nix-profile/bin/npm
    pnpm: 10.30.2 - /home/anders/.nix-profile/bin/pnpm
    bun: 1.3.10 - /home/anders/.nix-profile/bin/bun
  npmPackages:
    @babel/preset-typescript: ^7.28.5 => 7.28.5 
    @babel/register: ^7.28.6 => 7.28.6 

Possible solution

No response

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions