From 26cee4eb0d041786f1d70cb2d9f3a6b6d82bd93d Mon Sep 17 00:00:00 2001 From: Nathan Whitaker <17734409+nathanwhit@users.noreply.github.com> Date: Fri, 8 Mar 2024 18:06:04 -0800 Subject: fix(ext/node): Implement `isBuiltin` in `node:module` (#22817) Fixes #22502 Implements the [`isBuiltin`](https://nodejs.org/api/module.html#moduleisbuiltinmodulename) function in `node:module`. I had to update the version of `@types/node` in the test registry in order to get the test I added to typecheck. --- tests/unit_node/module_test.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'tests/unit_node/module_test.ts') diff --git a/tests/unit_node/module_test.ts b/tests/unit_node/module_test.ts index 6935b080a..eb1825890 100644 --- a/tests/unit_node/module_test.ts +++ b/tests/unit_node/module_test.ts @@ -1,6 +1,6 @@ // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. -import { createRequire, Module } from "node:module"; +import { createRequire, isBuiltin, Module } from "node:module"; import { assert, assertEquals } from "@std/assert/mod.ts"; import process from "node:process"; import * as path from "node:path"; @@ -70,3 +70,16 @@ Deno.test("Built-in Node modules have `node:` prefix", () => { assert(thrown); }); + +Deno.test("[node/module isBuiltin] recognizes node builtins", () => { + assert(isBuiltin("node:fs")); + assert(isBuiltin("node:test")); + assert(isBuiltin("fs")); + assert(isBuiltin("buffer")); + + assert(!isBuiltin("internal/errors")); + assert(!isBuiltin("test")); + assert(!isBuiltin("")); + // deno-lint-ignore no-explicit-any + assert(!isBuiltin(undefined as any)); +}); -- cgit v1.2.3