From f091d1ad69b4e5217ae3272b641171781a372c4f Mon Sep 17 00:00:00 2001 From: David Sherret Date: Wed, 13 Nov 2024 10:10:09 -0500 Subject: feat(node): stabilize detecting if CJS via `"type": "commonjs"` in a package.json (#26439) This will respect `"type": "commonjs"` in a package.json to determine if `.js`/`.jsx`/`.ts`/.tsx` files are CJS or ESM. If the file is found to be ESM it will be loaded as ESM though. --- runtime/fmt_errors.rs | 7 +++---- runtime/web_worker.rs | 7 +++++++ 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'runtime') diff --git a/runtime/fmt_errors.rs b/runtime/fmt_errors.rs index 4cd8a0634..28cd70296 100644 --- a/runtime/fmt_errors.rs +++ b/runtime/fmt_errors.rs @@ -310,14 +310,13 @@ fn get_suggestions_for_terminal_errors(e: &JsError) -> Vec { { return vec![ FixSuggestion::info_multiline(&[ - cstr!("Deno supports CommonJS modules in .cjs files, or when there's a package.json"), - cstr!("with \"type\": \"commonjs\" option and --unstable-detect-cjs flag is used.") + cstr!("Deno supports CommonJS modules in .cjs files, or when the closest"), + cstr!("package.json has a \"type\": \"commonjs\" option.") ]), FixSuggestion::hint_multiline(&[ "Rewrite this module to ESM,", cstr!("or change the file extension to .cjs,"), - cstr!("or add package.json next to the file with \"type\": \"commonjs\" option"), - cstr!("and pass --unstable-detect-cjs flag."), + cstr!("or add package.json next to the file with \"type\": \"commonjs\" option."), ]), FixSuggestion::docs("https://docs.deno.com/go/commonjs"), ]; diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index d81c82c50..e27229153 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -393,6 +393,13 @@ pub struct WebWorker { maybe_worker_metadata: Option, } +impl Drop for WebWorker { + fn drop(&mut self) { + // clean up the package.json thread local cache + node_resolver::PackageJsonThreadLocalCache::clear(); + } +} + impl WebWorker { pub fn bootstrap_from_options( services: WebWorkerServiceOptions, -- cgit v1.2.3