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.

Activity

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions