From 041d4f6b87bab73681c630631676f461b5144365 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Fri, 7 Feb 2025 00:26:39 +0100 Subject: [PATCH] refactor: use same `builtinModules` from runtime concat in old impl was causing duplicate entries! --- src/presets/node.ts | 4 ++-- src/presets/nodeless.ts | 7 ++++--- src/presets/utils.ts | 20 +------------------- 3 files changed, 7 insertions(+), 24 deletions(-) diff --git a/src/presets/node.ts b/src/presets/node.ts index 71428c58..73fa1ed7 100644 --- a/src/presets/node.ts +++ b/src/presets/node.ts @@ -1,4 +1,4 @@ -import { NodeBuiltinModules } from "./utils"; +import { builtinModules } from "../runtime/node/module"; import type { Preset } from "../../lib/index.d.mts"; import { version } from "../../package.json"; @@ -17,5 +17,5 @@ export default { polyfill: [], - external: [...NodeBuiltinModules], + external: [...builtinModules], } as Preset; diff --git a/src/presets/nodeless.ts b/src/presets/nodeless.ts index 450d5bf8..467dece0 100644 --- a/src/presets/nodeless.ts +++ b/src/presets/nodeless.ts @@ -1,4 +1,5 @@ -import { NodeBuiltinModules, mapArrToVal } from "./utils"; +import { mapArrToVal } from "./utils"; +import { builtinModules } from "../runtime/node/module"; import type { Preset } from "../../lib/index.d.mts"; import { version } from "../../package.json"; @@ -10,7 +11,7 @@ const nodeless: Preset & { alias: Map } = { alias: { // Generic mock for built-ins - ...mapArrToVal("unenv/mock/proxy-cjs", NodeBuiltinModules), + ...mapArrToVal("unenv/mock/proxy-cjs", builtinModules), // Built-ins implemented by unenv "buffer/index.js": "buffer", @@ -102,7 +103,7 @@ const nodeless: Preset & { alias: Map } = { }; // Add node: aliases -for (const m of NodeBuiltinModules) { +for (const m of builtinModules) { nodeless.alias[`node:${m}`] = nodeless.alias[m]; } diff --git a/src/presets/utils.ts b/src/presets/utils.ts index 8a79bb10..e93d8acf 100644 --- a/src/presets/utils.ts +++ b/src/presets/utils.ts @@ -1,21 +1,3 @@ -import { Module } from "node:module"; - -// eslint-disable-next-line unicorn/prefer-spread -export const NodeBuiltinModules = ([] as string[]).concat( - Module.builtinModules, - [ - "assert/strict", - "fs/promises", - "path/posix", - "path/win32", - "stream/consumers", - "stream/promises", - "stream/web", - "timers/promises", - "util/types", - ], -); - -export function mapArrToVal(val: any, arr: any[]) { +export function mapArrToVal(val: any, arr: readonly any[]) { return Object.fromEntries(arr.map((c) => [c, val])); }