NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3617 most downloaded on npm
Tomorrow's ECMAScript modules today!
Last release 7 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
140 releases · first in 2015
Fixed regression parsing computed methods
Fixed regression parsing static methods
Added support for parsing public and private static class fields
"type" field support of package.json (#784)One column per quarter.
Reverted cache invalidation fix because of overactive file attribute updates
Ensured deep parse validation is performed before shallow
Module#_compile() calls are based on default options.node files are stored in the real Module._cache in Jest (#765)import use in Puppeteer’s page.evaluate() (#762)ts-node/register (#769)"main" fields (#770)%s token of util.formatWithOptions()Fixed typo in Entry#resumeChildren()
Entry#resumeChildren() (#760)Ensured source maps generated when options.sourceMap is false
options.sourceMap is false (#756)options.cjs.paths is trueutil.formatWithOptions() implementation (#757)Fixed undefined property access error for Loader.state.package.default
Loader.state.package.default (#752)Fixed regression in Jest context
Fixed inline source map detection
Ensured console and util can access Loader.state.package.default
console and util can access Loader.state.package.default (#740)esm works with requizzle (#744)Ensured esm works with the --harmony flag in Node 6
esm works with the --harmony flag in Node 6 (https://github.com/tapjs/node-tap/issues/517)esm versions work with nyc (#739)Ensured custom console methods provided by the runtime are preserved
Ensured configuration-less esm works with @babel/register
esm works with @babel/register (https://github.com/tapjs/node-tap/issues/517)@babel/register and nyc (https://github.com/tapjs/node-tap/issues/516)Ensured JSON modules are treated like CJS modules in .mjs files
.mjs filesEnsured JSON modules participate in the lifecycle phases of ES modules
Fixed Module._cache initialization in Jest
Module._cache initialization in Jest (#734)Ensured JSON modules maintain reference equality whether loaded by static import or require()
.cjs filesimport or require()require() update their live bindingsAdded support for mocking WASM modules and their dependencies
Documented options.cjs.dedefault
options.cjs.dedefault (#731)module.exports are not swallowed (#726)Ensured CJS modules work with `rewire`
rewire (https://github.com/tapjs/node-tap/issues/509)ava and sinon regression (#727, #728)webpack -r regression (#726)console transforms (https://github.com/Agoric/PlaygroundVat/pull/13)Ensured import.meta.url is null in --eval, stdin, or REPL
stdin evalimport.meta.url is null in --eval, stdin, or REPLmocha -r regression (#722)process in REPLEnsured the main module has an inline source map for --inspect-brk use
--inspect-brk useconsole initialization regressionEnsured top-level return errors occur within eval() and the REPL
eval() and the REPLdefault class exports (#725)Added support for class properties and other non-enumerables to options.cjs.namedExports
options.cjs.namedExports.mjs files are more restrictedrequire() interoperability of options.cjs.interop (#721)Added require() interoperability to options.cjs.interop (no more require("mod").default)
require() interoperability to options.cjs.interop (no more require("mod").default)hot-module-replacement using options.cjs.varsconsole initializes with frozen intrinsics enabledModule._findPath() (#717)Narrowed deferring namespace object finalization to export {x} from and export * from of non-ES modules
export {x} from and export * from of non-ES modulesEnsured namespace object finalization is deferred for modules that import non-ES modules
Added import.meta test262 tests
import.meta test262 tests (#711)Module._findPath misses aren’t cachedtink and Yarn PnPFixed regression loading CJS files through the require-hook
Added support for export-ns-from syntax
options.wasm__global__ has already been declared” errors (#671)esm passes all applicable test262 compliance testsesm works with globally installed tink (#702)esm works with lit-node (#679)esm works with Node --use-strict and avoids CSP errors in Electron (#607)module.id of esm is string before using it (#681)-p or -e flagsimport support in Electron (#692)fs.realpathSync.native detection (#646)options.mainFields support (#693)options.await to Node 10+console and Reflect (#675)Ensured esm paths aren’t reloaded when preloading modules
esm paths aren’t reloaded when preloading modulesAdded support for the ESM_DISABLE_CACHE environment variable
ESM_DISABLE_CACHE environment variable (#595)esm are reloadedesm doesn’t trigger unsafe-eval CSP errors (#601).js files are found before .mjs files with options.cjs.pathsEnsured inspector doesn’t throw initialization errors in workers
inspector doesn’t throw initialization errors in workers (#591)esm cache more portable (#586)Ensured shebang is stripped for side effect only ES modules
yield insertions are not stored in cache files (#585)Avoided cache conflicts with nyc (#579) Ensured Object is instanceof itself in Jest (#577) Ensured re-exporting hoisted function declarations is suppo
Avoided cache conflicts with nyc (#579)
Ensured Object is instanceof itself in Jest (#577)
Ensured re-exporting hoisted function declarations is supported (#578)
* Fixed console logs in Electron
console logs in ElectronEnsured instanceof works for builtin constructors in Jest
instanceof works for builtin constructors in Jest (#570)options.cache works as bridge options (#566)options.mainFields works for package dependencies (#567)ts-node/register (#568)Ensured Error.prepareStackTrace() works in Jest
Error.prepareStackTrace() works in JestEnsured Module._extensions is initialized without esm wrapper symbols
Module._extensions is initialized without esm wrapper symbols (#563)Avoided wrapping inspected values when not needed
acorn (#546)module.paths is set through the ESM loader (#548)Module._findPath() (#551)SIGINT and SIGTERM (#552)Fixed feature test regression in minified build
Ensured builtin module references are shared between loader instances
SIGINT and SIGTERM (#530)console can be used in shorthand property names (#526)muon is supportedmodule.exports properties (#516)node-chakracore 10.6.0options.await (#534)options.sourceMap enabled for ndboptions.sourceMap enabled for NODE_ENV="development"Ensured request query/fragments can contain encoded slashes
stream can be subclassed (#510)global access (#507)Added support for applying options to all module loads with options.force
options.force (#501)Enabled package resolution in RunKit
Continued to reduced use of cache read fast path
Reduced use of less stable cache read fast path
Added more guards to pseudo private methods use
Fixed regression resolving builtin modules in Node < 6.13.0
Improved console, eval, and TDZ transforms
console, eval, and TDZ transformsEnsured console logs piped to developer tools unwrap internal proxies
console logs piped to developer tools unwrap internal proxiesEnsured AST visitors are reset for each compiler run
console.Console can be subclassed in Jest (#491)esm is initialized with an empty module cache in Jest (#492)Added guards for malformed .data.json metadata
.data.json metadata (#489)Fixed regression piping console logs to the Electron developer tools
console logs to the Electron developer tools* Ensured global.global is set
global.global is set (#487)Ensured top-level arguments is undefined in ESM
arguments is undefined in ESMAdded missing module wrapper arguments for Electron
Ensured console.Console can be inherited from
console.Console can be inherited from (#482)module.parent is undefined for ESM files with .mjs parents--inspect flags are detected when they contain an = sign (#483)options.warningsEnsured esm uses the context in which it’s loaded
esm uses the context in which it’s loaded (#480)console logs are piped to the Electron developer toolsYour coding agent can read these notes before it upgrades. Set up the MCP server →