From 691d7256ddf267aac290582cacffe2200c6a5692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Ribaudo?= Date: Thu, 14 Sep 2023 13:00:46 +0200 Subject: [PATCH] Review --- packages/babel-plugin-proposal-import-defer/src/index.ts | 4 ++-- .../babel-plugin-transform-modules-commonjs/src/hooks.ts | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/babel-plugin-proposal-import-defer/src/index.ts b/packages/babel-plugin-proposal-import-defer/src/index.ts index 3eb4e2988e92..c3728cedd4dc 100644 --- a/packages/babel-plugin-proposal-import-defer/src/index.ts +++ b/packages/babel-plugin-proposal-import-defer/src/index.ts @@ -84,7 +84,7 @@ export default declare(api => { // import "a" // we have the correct evaluation order - const eagerImports = new Map(); + const eagerImports = new Set(); for (const child of path.get("body")) { if ( @@ -94,7 +94,7 @@ export default declare(api => { ) { const specifier = child.node.source!.value; if (!eagerImports.has(specifier)) { - eagerImports.set(specifier, child); + eagerImports.add(specifier); } } } diff --git a/packages/babel-plugin-transform-modules-commonjs/src/hooks.ts b/packages/babel-plugin-transform-modules-commonjs/src/hooks.ts index 9e152a116be5..05767ace1264 100644 --- a/packages/babel-plugin-transform-modules-commonjs/src/hooks.ts +++ b/packages/babel-plugin-transform-modules-commonjs/src/hooks.ts @@ -6,10 +6,15 @@ const commonJSHooksKey = type SourceMetadata = Parameters[0]; +// A hook exposes a set of function that can customize how `require()` calls and +// references to the imported bindings are handled. These functions can either +// return a result, or return `null` to delegate to the next hook. export interface CommonJSHook { name: string; version: string; wrapReference?(ref: t.Expression, payload: unknown): t.CallExpression | null; + // Optionally wrap a `require` call. If this function returns `false`, the + // `require` call is removed from the generated code. buildRequireWrapper?( name: string, init: t.Expression,