Cloudflare Workers switches to its new module registry on 17 November
From that date, Workers get import.meta and require(esm) support without a flag. The old behaviour stays available via legacy_module_registry.
Cloudflare will make its new Workers module registry the default on 17 November 2026. Any JavaScript Worker with a compatibility date of 2026-11-17 or later picks it up automatically, no new_module_registry compatibility flag required.
The new registry treats module specifiers as URLs rather than filesystem paths. That unlocks import.meta.url, import.meta.main and import.meta.resolve() on every ES module, and brings require() support for loading ES modules in Node.js-compatible Workers, with restrictions on top-level await inside require(). You can opt in early:
{
"compatibility_flags": ["new_module_registry"]
}
To keep the old behaviour after bumping your compatibility date past 17 November, add legacy_module_registry instead.
Why it matters: import.meta has been ordinary ESM behaviour everywhere except Workers for years, and a fair few npm packages lean on it or on Node’s require(esm) rules. This closes that gap. It is also another silent behaviour change tied to your compatibility date, so it is worth testing before you bump it, the same caution that applies to every other default flip landing on 17 November.