Skip to content

ExtendedPropertyDefinition imports removed util.isNullOrUndefined — breaks on Node 24+ #459

Description

@perbergland

Problem

src/js/PropertyDefinitions/ExtendedPropertyDefinition.ts imports isNullOrUndefined from Node's built-in util module:

import { isNullOrUndefined } from "util";

util.isNullOrUndefined was runtime-deprecated years ago (DEP0054) and has now been removed from Node.js. On Node 24 (and confirmed on Node 25) the import resolves to undefined:

$ node -v
v25.8.1
$ node -e "console.log(typeof require('util').isNullOrUndefined)"
undefined

Any code path that reaches ExtendedPropertyDefinition then throws TypeError: isNullOrUndefined is not a function.

Note

The library already ships its own isNullOrUndefined in src/js/ExtensionMethods.ts (with identical semantics: obj === undefined || obj === null), and every other call site in the codebase already imports it from there. This one file is the only place still pulling the removed Node built-in.

Fix

Import isNullOrUndefined from ../ExtensionMethods instead of "util". No new dependency, no behavior change. PR follows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions