vm: support using the default loader to handle dynamic import()#51244
Merged
nodejs-github-bot merged 5 commits intonodejs:mainfrom Feb 1, 2024
Merged
vm: support using the default loader to handle dynamic import()#51244nodejs-github-bot merged 5 commits intonodejs:mainfrom
nodejs-github-bot merged 5 commits intonodejs:mainfrom
Conversation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This patch adds support for using
vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADERas theimportModuleDynamicallyoption in all vm APIs that take this option exceptvm.SourceTextModule. This allows users to have a shortcut to support dynamicimport()in the compiled code without missing the compilation cache if they don't need customization of the loading process. We emit an experimental warning when theimport()is actually handled by the default loader through this option instead of requiring--experimental-vm-modules.In addition this refactors the documentation for
importModuleDynamicallyand adds a dedicated section for it with examples.vm.SourceTextModuleis not supported in this patch because it needs additional refactoring to handleinitializeImportMeta, which can be done in a follow-up.Fixes: #51154