interop-test

ESM-CJS interop test

This project is maintained by sokra

ESM-CJS interop test

Test fixtures

See modules directory for details

Results

For readablility some shortcuts are applied:

Node.js

current version

Version: node@20.0.0

node import x

import { default as x }
import * as x; x.default

import * as x; ident(x).default
import { named as x } import * as x; x.named

import * as x; ident(x).named
import { __esModule as x } import * as x; x.__esModule

import * as x; ident(x).__esModule
import * as x

import()
x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); x.named x = require(); ident(x).named { __esModule } = require()

x = require(); x.__esModule
x = require(); ident(x).__esModule x = require() await import() === require() import * as x; x === await import()
default-export

default-export-runtime
{ default } { default } syntax error undefined syntax error undefined [Module: null prototype] { default: { default }, [Module] } 'default' 'default' undefined undefined undefined undefined undefined { default } false true
default-export-esModule { [__esModule], default } { [__esModule], default } syntax error undefined true true [Module: null prototype] { __esModule, default: { [__esModule], default }, [Module] } 'default' 'default' undefined undefined undefined true true { [__esModule], default } false true
default-export-esModule-esm-reexport syntax error undefined syntax error undefined true true [Module: null prototype] { __esModule, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
default-export-esm 'default' 'default' syntax error undefined syntax error undefined [Module: null prototype] { default, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-reexport
{ named, default } { named, default } 'named' 'named' syntax error undefined [Module: null prototype] { default: { named, default }, named, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-babel-getter { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named: [G], default: [G] }, named, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named: [G], default: [G] } false true
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport
{ [__esModule], named, default } { [__esModule], named, default } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named, default }, named, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } false true
named-and-default-export-esModule-esm-reexport syntax error undefined 'named' 'named' true true [Module: null prototype] { __esModule, named, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export-esm

tla-esm
'default' 'default' 'named' 'named' syntax error undefined [Module: null prototype] { default, named, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export-esm-esm-reexport

named-and-default-export-esm-reexport

named-export-esm

tla-esm-esm-reexport
syntax error undefined 'named' 'named' syntax error undefined [Module: null prototype] { named, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export-getter { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } syntax error undefined syntax error undefined [Module: null prototype] { default: { [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } false true
named-and-default-export-getter-esModule { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } false true
named-and-default-export-inherited

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } { named, default } syntax error undefined syntax error undefined [Module: null prototype] { default: { named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-live { named, default } { named, default } 'named-outdated' 'named-outdated' syntax error undefined [Module: null prototype] { default: { named, default }, named: 'named-outdated', [Module] } 'default' 'default' 'named-outdated' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-non-enumerable { [named], [default] } { [named], [default] } 'named' 'named' syntax error undefined [Module: null prototype] { default: { [named], [default] }, named, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false true
named-and-default-export-non-enumerable-inherited { [named], [default] } { [named], [default] } syntax error undefined syntax error undefined [Module: null prototype] { default: { [named], [default] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false true
named-and-default-export-runtime-esModule { [__esModule], named, default } { [__esModule], named, default } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule], named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } false true
named-and-null-default-export { named, default: null } { named, default: null } 'named' 'named' syntax error undefined [Module: null prototype] { default: { named, default: null }, named, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false true
named-and-null-default-export-esModule { [__esModule], named, default: null } { [__esModule], named, default: null } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named, default: null }, named, [Module] } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } false true
named-and-null-default-export-non-enumerable { [named], [default]: null } { [named], [default]: null } 'named' 'named' syntax error undefined [Module: null prototype] { default: { [named], [default]: null }, named, [Module] } null null 'named' 'named' 'named' undefined undefined { [named], [default]: null } false true
named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } { named, default: null } syntax error undefined syntax error undefined [Module: null prototype] { default: { named, default: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false true
named-and-null-default-export-runtime-esModule { [__esModule], named, default: null } { [__esModule], named, default: null } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule], named, default: null }, [Module] } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } false true
named-export { named } { named } 'named' 'named' syntax error undefined [Module: null prototype] { default: { named }, named, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false true
named-export-esModule { [__esModule], named } { [__esModule], named } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named }, named, [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } false true
named-export-non-enumerable { [named] } { [named] } 'named' 'named' syntax error undefined [Module: null prototype] { default: { [named] }, named, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { [named] } false true
named-export-runtime

single-object-export
{ named } { named } syntax error undefined syntax error undefined [Module: null prototype] { default: { named }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false true
named-export-runtime-esModule { [__esModule], named } { [__esModule], named } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule], named }, [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } false true
order { b, a, c } { b, a, c } syntax error undefined syntax error undefined [Module: null prototype] { a, b, c, default: { b, a, c }, [Module] } undefined undefined undefined undefined undefined undefined undefined { b, a, c } false true
order-esModule { [__esModule], b, a, c } { [__esModule], b, a, c } syntax error undefined true true [Module: null prototype] { __esModule, a, b, c, default: { [__esModule], b, a, c }, [Module] } undefined undefined undefined undefined undefined true true { [__esModule], b, a, c } false true
order-esm syntax error undefined syntax error undefined syntax error undefined [Module: null prototype] { a, b, c, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
require-circular

require-circular-self

require-conditional-execution
{ default, named } { default, named } 'named' 'named' syntax error undefined [Module: null prototype] { default: { default, named }, named, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { default, named } false true
single-empty-string-export '' '' syntax error undefined syntax error undefined [Module: null prototype] { default: '', [Module] } undefined undefined undefined undefined undefined undefined undefined '' false true
single-null-export null null syntax error undefined syntax error undefined [Module: null prototype] { default: null, [Module] } type error undefined type error type error undefined type error undefined null false true
single-promise-object-export Promise { { named } } Promise { { named } } syntax error undefined syntax error undefined [Module: null prototype] { default: Promise { { named } }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { named } } false true
single-promise-object-with-default-export Promise { { named, default } } Promise { { named, default } } syntax error undefined syntax error undefined [Module: null prototype] { default: Promise { { named, default } }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { named, default } } false true
single-promise-string-export Promise { 'single' } Promise { 'single' } syntax error undefined syntax error undefined [Module: null prototype] { default: Promise { 'single' }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { 'single' } false true
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' 'single' syntax error undefined syntax error undefined [Module: null prototype] { default: 'single', [Module] } undefined undefined undefined undefined undefined undefined undefined 'single' false true
single-string-export-esm-reexport syntax error undefined syntax error undefined syntax error undefined [Module: null prototype] { [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
single-string-export-live 'single-outdated' 'single-outdated' syntax error undefined syntax error undefined [Module: null prototype] { default: 'single-outdated', [Module] } undefined undefined undefined undefined undefined undefined undefined 'single-outdated' false true
tla-esModule syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error
tla-esModule-esm-reexport syntax error syntax error syntax error syntax error syntax error syntax error syntax error require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed syntax error syntax error

long term stable version

Version: node@18.16.0

node-lts import x

import { default as x }
import * as x; x.default

import * as x; ident(x).default
import { named as x } import * as x; x.named

import * as x; ident(x).named
import { __esModule as x } import * as x; x.__esModule

import * as x; ident(x).__esModule
import * as x

import()
x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); x.named x = require(); ident(x).named { __esModule } = require()

x = require(); x.__esModule
x = require(); ident(x).__esModule x = require() await import() === require() import * as x; x === await import()
default-export

default-export-runtime
{ default } { default } syntax error undefined syntax error undefined [Module: null prototype] { default: { default }, [Module] } 'default' 'default' undefined undefined undefined undefined undefined { default } false true
default-export-esModule { [__esModule], default } { [__esModule], default } syntax error undefined true true [Module: null prototype] { __esModule, default: { [__esModule], default }, [Module] } 'default' 'default' undefined undefined undefined true true { [__esModule], default } false true
default-export-esModule-esm-reexport syntax error undefined syntax error undefined true true [Module: null prototype] { __esModule, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
default-export-esm 'default' 'default' syntax error undefined syntax error undefined [Module: null prototype] { default, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-reexport
{ named, default } { named, default } 'named' 'named' syntax error undefined [Module: null prototype] { default: { named, default }, named, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-babel-getter { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named: [G], default: [G] }, named, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named: [G], default: [G] } false true
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport
{ [__esModule], named, default } { [__esModule], named, default } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named, default }, named, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } false true
named-and-default-export-esModule-esm-reexport syntax error undefined 'named' 'named' true true [Module: null prototype] { __esModule, named, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export-esm

tla-esm
'default' 'default' 'named' 'named' syntax error undefined [Module: null prototype] { default, named, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export-esm-esm-reexport

named-and-default-export-esm-reexport

named-export-esm

tla-esm-esm-reexport
syntax error undefined 'named' 'named' syntax error undefined [Module: null prototype] { named, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
named-and-default-export-getter { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } syntax error undefined syntax error undefined [Module: null prototype] { default: { [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } false true
named-and-default-export-getter-esModule { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } false true
named-and-default-export-inherited

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } { named, default } syntax error undefined syntax error undefined [Module: null prototype] { default: { named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-live { named, default } { named, default } 'named-outdated' 'named-outdated' syntax error undefined [Module: null prototype] { default: { named, default }, named: 'named-outdated', [Module] } 'default' 'default' 'named-outdated' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-non-enumerable { [named], [default] } { [named], [default] } 'named' 'named' syntax error undefined [Module: null prototype] { default: { [named], [default] }, named, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false true
named-and-default-export-non-enumerable-inherited { [named], [default] } { [named], [default] } syntax error undefined syntax error undefined [Module: null prototype] { default: { [named], [default] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false true
named-and-default-export-runtime-esModule { [__esModule], named, default } { [__esModule], named, default } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule], named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } false true
named-and-null-default-export { named, default: null } { named, default: null } 'named' 'named' syntax error undefined [Module: null prototype] { default: { named, default: null }, named, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false true
named-and-null-default-export-esModule { [__esModule], named, default: null } { [__esModule], named, default: null } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named, default: null }, named, [Module] } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } false true
named-and-null-default-export-non-enumerable { [named], [default]: null } { [named], [default]: null } 'named' 'named' syntax error undefined [Module: null prototype] { default: { [named], [default]: null }, named, [Module] } null null 'named' 'named' 'named' undefined undefined { [named], [default]: null } false true
named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } { named, default: null } syntax error undefined syntax error undefined [Module: null prototype] { default: { named, default: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false true
named-and-null-default-export-runtime-esModule { [__esModule], named, default: null } { [__esModule], named, default: null } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule], named, default: null }, [Module] } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } false true
named-export { named } { named } 'named' 'named' syntax error undefined [Module: null prototype] { default: { named }, named, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false true
named-export-esModule { [__esModule], named } { [__esModule], named } 'named' 'named' true true [Module: null prototype] { __esModule, default: { [__esModule], named }, named, [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } false true
named-export-non-enumerable { [named] } { [named] } 'named' 'named' syntax error undefined [Module: null prototype] { default: { [named] }, named, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { [named] } false true
named-export-runtime

single-object-export
{ named } { named } syntax error undefined syntax error undefined [Module: null prototype] { default: { named }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false true
named-export-runtime-esModule { [__esModule], named } { [__esModule], named } syntax error undefined syntax error undefined [Module: null prototype] { default: { [__esModule], named }, [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } false true
order { b, a, c } { b, a, c } syntax error undefined syntax error undefined [Module: null prototype] { a, b, c, default: { b, a, c }, [Module] } undefined undefined undefined undefined undefined undefined undefined { b, a, c } false true
order-esModule { [__esModule], b, a, c } { [__esModule], b, a, c } syntax error undefined true true [Module: null prototype] { __esModule, a, b, c, default: { [__esModule], b, a, c }, [Module] } undefined undefined undefined undefined undefined true true { [__esModule], b, a, c } false true
order-esm syntax error undefined syntax error undefined syntax error undefined [Module: null prototype] { a, b, c, [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
require-circular

require-circular-self

require-conditional-execution
{ default, named } { default, named } 'named' 'named' syntax error undefined [Module: null prototype] { default: { default, named }, named, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { default, named } false true
single-empty-string-export '' '' syntax error undefined syntax error undefined [Module: null prototype] { default: '', [Module] } undefined undefined undefined undefined undefined undefined undefined '' false true
single-null-export null null syntax error undefined syntax error undefined [Module: null prototype] { default: null, [Module] } type error undefined type error type error undefined type error undefined null false true
single-promise-object-export Promise { { named } } Promise { { named } } syntax error undefined syntax error undefined [Module: null prototype] { default: Promise { { named } }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { named } } false true
single-promise-object-with-default-export Promise { { named, default } } Promise { { named, default } } syntax error undefined syntax error undefined [Module: null prototype] { default: Promise { { named, default } }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { named, default } } false true
single-promise-string-export Promise { 'single' } Promise { 'single' } syntax error undefined syntax error undefined [Module: null prototype] { default: Promise { 'single' }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { 'single' } false true
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' 'single' syntax error undefined syntax error undefined [Module: null prototype] { default: 'single', [Module] } undefined undefined undefined undefined undefined undefined undefined 'single' false true
single-string-export-esm-reexport syntax error undefined syntax error undefined syntax error undefined [Module: null prototype] { [Module] } require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed true
single-string-export-live 'single-outdated' 'single-outdated' syntax error undefined syntax error undefined [Module: null prototype] { default: 'single-outdated', [Module] } undefined undefined undefined undefined undefined undefined undefined 'single-outdated' false true
tla-esModule syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error
tla-esModule-esm-reexport syntax error syntax error syntax error syntax error syntax error syntax error syntax error require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed require(esm) not allowed syntax error syntax error

Babel

Babel behaves different depending on the file extension. If it is .mjs, it will compile in a strictNamespace mode.

.mjs file

Version: @babel/cli@7.21.5 @babel/core@7.21.8 @babel/plugin-transform-modules-commonjs@7.21.5 babel-plugin-dynamic-import-node@2.3.3 node@20.0.0

babel import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
import { named as x }

x = require(); x.named
import * as x; x.named

import * as x; ident(x).named
import { __esModule as x }

{ __esModule } = require()

x = require(); x.__esModule
import * as x; x.__esModule

import * as x; ident(x).__esModule

x = require(); ident(x).__esModule
import * as x

import()
x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); ident(x).named x = require() await import() === require() import * as x; x === await import()
default-export

default-export-runtime
{ default } undefined undefined undefined undefined { default: { default } } 'default' 'default' undefined undefined { default } false true
default-export-esModule

default-export-esm
'default' undefined undefined true true { [__esModule], default } 'default' 'default' undefined undefined { [__esModule], default } true true
default-export-esModule-esm-reexport undefined undefined undefined true true { [__esModule] } undefined undefined undefined undefined { [__esModule] } true true
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-reexport

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } 'named' 'named' undefined undefined { named, default: { named, default } } 'default' 'default' 'named' 'named' { named, default } false true
named-and-default-export-babel-getter 'default' 'named' 'named' true true { [__esModule], named: [G], default: [G] } 'default' 'default' 'named' 'named' { [__esModule], named: [G], default: [G] } true true
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
'default' 'named' 'named' true true { [__esModule], named, default } 'default' 'default' 'named' 'named' { [__esModule], named, default } true true
named-and-default-export-esModule-esm-reexport

named-and-default-export-esm-reexport
undefined 'named' 'named' true true { [__esModule], named: [G] } undefined undefined 'named' 'named' { [__esModule], named: [G] } true true
named-and-default-export-esm 'default' 'named' 'named' true true { [__esModule], default, named } 'default' 'default' 'named' 'named' { [__esModule], default, named } true true
named-and-default-export-esm-esm-reexport

tla-esm-esm-reexport
runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error
named-and-default-export-getter { [named]: [G], [default]: [G] } 'named' undefined undefined undefined { default: { [named]: [G], [default]: [G] } } 'default' 'default' 'named' 'named' { [named]: [G], [default]: [G] } false true
named-and-default-export-getter-esModule 'default' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } 'default' 'default' 'named' 'named' { [__esModule]: [G: true], [named]: [G], [default]: [G] } true true
named-and-default-export-inherited { named, default } 'named' undefined undefined undefined { default: { named, default } } 'default' 'default' 'named' 'named' { named, default } false true
named-and-default-export-live { named, default } 'named' 'named-outdated' undefined undefined { named: 'named-outdated', default: { named, default } } 'default' 'default' 'named-outdated' 'named' { named, default } false true
named-and-default-export-non-enumerable

named-and-default-export-non-enumerable-inherited
{ [named], [default] } 'named' undefined undefined undefined { default: { [named], [default] } } 'default' 'default' 'named' 'named' { [named], [default] } false true
named-and-null-default-export

named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } 'named' 'named' undefined undefined { named, default: { named, default: null } } null null 'named' 'named' { named, default: null } false true
named-and-null-default-export-esModule

named-and-null-default-export-runtime-esModule
null 'named' 'named' true true { [__esModule], named, default: null } null null 'named' 'named' { [__esModule], named, default: null } true true
named-and-null-default-export-non-enumerable { [named], [default]: null } 'named' undefined undefined undefined { default: { [named], [default]: null } } null null 'named' 'named' { [named], [default]: null } false true
named-export

named-export-runtime

single-object-export
{ named } 'named' 'named' undefined undefined { named, default: { named } } undefined undefined 'named' 'named' { named } false true
named-export-esModule

named-export-esm

named-export-runtime-esModule
undefined 'named' 'named' true true { [__esModule], named } undefined undefined 'named' 'named' { [__esModule], named } true true
named-export-non-enumerable { [named] } 'named' undefined undefined undefined { default: { [named] } } undefined undefined 'named' 'named' { [named] } false true
order { b, a, c } undefined undefined undefined undefined { b, a, c, default: { b, a, c } } undefined undefined undefined undefined { b, a, c } false true
order-esModule undefined undefined undefined true true { [__esModule], b, a, c } undefined undefined undefined undefined { [__esModule], b, a, c } true true
order-esm undefined undefined undefined true true { [__esModule], a, b, c } undefined undefined undefined undefined { [__esModule], a, b, c } true true
require-circular

require-circular-self

require-conditional-execution
{ default, named } 'named' 'named' undefined undefined { named, default: { default, named } } 'default' 'default' 'named' 'named' { default, named } false true
single-empty-string-export '' undefined undefined undefined undefined { default: '' } undefined undefined undefined undefined '' false false
single-null-export null type error undefined type error undefined { default: null } type error undefined type error undefined null false false
single-promise-object-export Promise { { named } } undefined undefined undefined undefined { default: Promise { { named } } } undefined undefined undefined undefined Promise { { named } } false true
single-promise-object-with-default-export Promise { { named, default } } undefined undefined undefined undefined { default: Promise { { named, default } } } undefined undefined undefined undefined Promise { { named, default } } false true
single-promise-string-export Promise { 'single' } undefined undefined undefined undefined { default: Promise { 'single' } } undefined undefined undefined undefined Promise { 'single' } false true
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' undefined undefined undefined undefined { default: 'single' } undefined undefined undefined undefined 'single' false false
single-string-export-esm-reexport undefined undefined undefined true true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } undefined undefined undefined undefined { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } true true
single-string-export-live 'single-outdated' undefined undefined undefined undefined { default: 'single-outdated' } undefined undefined undefined undefined 'single-outdated' false false
tla-esModule

tla-esModule-esm-reexport

tla-esm
syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error

.js file

Version: @babel/cli@7.21.5 @babel/core@7.21.8 @babel/plugin-transform-modules-commonjs@7.21.5 babel-plugin-dynamic-import-node@2.3.3 node@20.0.0

babel-js import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
import { named as x }

x = require(); x.named
import * as x; x.named

import * as x; ident(x).named
import { __esModule as x }

{ __esModule } = require()

x = require(); x.__esModule
import * as x; x.__esModule

import * as x; ident(x).__esModule

x = require(); ident(x).__esModule
import * as x

import()
x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); ident(x).named x = require() await import() === require() import * as x; x === await import()
default-export

default-export-runtime
{ default } undefined undefined undefined undefined { default: { default } } 'default' 'default' undefined undefined { default } false true
default-export-esModule

default-export-esm
'default' undefined undefined true true { [__esModule], default } 'default' 'default' undefined undefined { [__esModule], default } true true
default-export-esModule-esm-reexport undefined undefined undefined true true { [__esModule] } undefined undefined undefined undefined { [__esModule] } true true
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-reexport

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } 'named' 'named' undefined undefined { named, default: { named, default } } 'default' 'default' 'named' 'named' { named, default } false true
named-and-default-export-babel-getter 'default' 'named' 'named' true true { [__esModule], named: [G], default: [G] } 'default' 'default' 'named' 'named' { [__esModule], named: [G], default: [G] } true true
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
'default' 'named' 'named' true true { [__esModule], named, default } 'default' 'default' 'named' 'named' { [__esModule], named, default } true true
named-and-default-export-esModule-esm-reexport

named-and-default-export-esm-reexport
undefined 'named' 'named' true true { [__esModule], named: [G] } undefined undefined 'named' 'named' { [__esModule], named: [G] } true true
named-and-default-export-esm 'default' 'named' 'named' true true { [__esModule], default, named } 'default' 'default' 'named' 'named' { [__esModule], default, named } true true
named-and-default-export-esm-esm-reexport

tla-esm-esm-reexport
runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error runtime error
named-and-default-export-getter { [named]: [G], [default]: [G] } 'named' undefined undefined undefined { default: { [named]: [G], [default]: [G] } } 'default' 'default' 'named' 'named' { [named]: [G], [default]: [G] } false true
named-and-default-export-getter-esModule 'default' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } 'default' 'default' 'named' 'named' { [__esModule]: [G: true], [named]: [G], [default]: [G] } true true
named-and-default-export-inherited { named, default } 'named' undefined undefined undefined { default: { named, default } } 'default' 'default' 'named' 'named' { named, default } false true
named-and-default-export-live { named, default } 'named' 'named-outdated' undefined undefined { named: 'named-outdated', default: { named, default } } 'default' 'default' 'named-outdated' 'named' { named, default } false true
named-and-default-export-non-enumerable

named-and-default-export-non-enumerable-inherited
{ [named], [default] } 'named' undefined undefined undefined { default: { [named], [default] } } 'default' 'default' 'named' 'named' { [named], [default] } false true
named-and-null-default-export

named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } 'named' 'named' undefined undefined { named, default: { named, default: null } } null null 'named' 'named' { named, default: null } false true
named-and-null-default-export-esModule

named-and-null-default-export-runtime-esModule
null 'named' 'named' true true { [__esModule], named, default: null } null null 'named' 'named' { [__esModule], named, default: null } true true
named-and-null-default-export-non-enumerable { [named], [default]: null } 'named' undefined undefined undefined { default: { [named], [default]: null } } null null 'named' 'named' { [named], [default]: null } false true
named-export

named-export-runtime

single-object-export
{ named } 'named' 'named' undefined undefined { named, default: { named } } undefined undefined 'named' 'named' { named } false true
named-export-esModule

named-export-esm

named-export-runtime-esModule
undefined 'named' 'named' true true { [__esModule], named } undefined undefined 'named' 'named' { [__esModule], named } true true
named-export-non-enumerable { [named] } 'named' undefined undefined undefined { default: { [named] } } undefined undefined 'named' 'named' { [named] } false true
order { b, a, c } undefined undefined undefined undefined { b, a, c, default: { b, a, c } } undefined undefined undefined undefined { b, a, c } false true
order-esModule undefined undefined undefined true true { [__esModule], b, a, c } undefined undefined undefined undefined { [__esModule], b, a, c } true true
order-esm undefined undefined undefined true true { [__esModule], a, b, c } undefined undefined undefined undefined { [__esModule], a, b, c } true true
require-circular

require-circular-self

require-conditional-execution
{ default, named } 'named' 'named' undefined undefined { named, default: { default, named } } 'default' 'default' 'named' 'named' { default, named } false true
single-empty-string-export '' undefined undefined undefined undefined { default: '' } undefined undefined undefined undefined '' false false
single-null-export null type error undefined type error undefined { default: null } type error undefined type error undefined null false false
single-promise-object-export Promise { { named } } undefined undefined undefined undefined { default: Promise { { named } } } undefined undefined undefined undefined Promise { { named } } false true
single-promise-object-with-default-export Promise { { named, default } } undefined undefined undefined undefined { default: Promise { { named, default } } } undefined undefined undefined undefined Promise { { named, default } } false true
single-promise-string-export Promise { 'single' } undefined undefined undefined undefined { default: Promise { 'single' } } undefined undefined undefined undefined Promise { 'single' } false true
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' undefined undefined undefined undefined { default: 'single' } undefined undefined undefined undefined 'single' false false
single-string-export-esm-reexport undefined undefined undefined true true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } undefined undefined undefined undefined { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } true true
single-string-export-live 'single-outdated' undefined undefined undefined undefined { default: 'single-outdated' } undefined undefined undefined undefined 'single-outdated' false false
tla-esModule

tla-esModule-esm-reexport

tla-esm
syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error syntax error

Webpack

ESM-flagged

When using a .mjs file or .js in a package.json context with "type": "module".

Version: webpack@5.81.0 node@20.0.0

webpack import x

import { default as x }

import * as x; x.default
import * as x; ident(x).default import { named as x }

import * as x; x.named
import * as x; ident(x).named import { __esModule as x }

import * as x; x.__esModule
import * as x; ident(x).__esModule import * as x import() x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); x.named x = require(); ident(x).named { __esModule } = require()

x = require(); x.__esModule
x = require(); ident(x).__esModule x = require() await import() === require() import * as x; x === await import()
default-export { default } { default } undefined + errors undefined true + errors true [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } 'default' 'default' undefined undefined undefined undefined undefined { default } false false
default-export-esModule { [__esModule], default } { [__esModule], default } undefined + errors undefined true true [Module: null prototype] { [__esModule], default: [G] { [__esModule], default }, [Module] } [Module: null prototype] { [__esModule], default: [G] { [__esModule], default }, [Module] } 'default' 'default' undefined undefined undefined true true { [__esModule], default } true false
default-export-esModule-esm-reexport undefined + errors undefined undefined + errors undefined true true { [__esModule], [Module] } { [__esModule], [Module] } undefined undefined undefined undefined undefined true true { [__esModule], [Module] } true true
default-export-esm 'default' 'default' undefined + errors undefined true + errors true { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } 'default' 'default' undefined undefined undefined true true { [__esModule], default: [G], [Module] } true true
default-export-runtime { default } { default } undefined undefined true true [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } 'default' 'default' undefined undefined undefined undefined undefined { default } false false
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-reexport
{ named, default } { named, default } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-babel-getter { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named: [G], default: [G] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named: [G], default: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named: [G], default: [G] } true false
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
{ [__esModule], named, default } { [__esModule], named, default } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } true false
named-and-default-export-esModule-esm-reexport undefined + errors undefined 'named' 'named' true true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G], [Module] } true true
named-and-default-export-esm 'default' 'default' 'named' 'named' true + errors true { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], default: [G], named: [G], [Module] } true true
named-and-default-export-esm-esm-reexport

named-and-default-export-esm-reexport

named-export-esm
undefined + errors undefined 'named' 'named' true + errors true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G], [Module] } true true
named-and-default-export-getter { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } false false
named-and-default-export-getter-esModule { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } true false
named-and-default-export-inherited

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } { named, default } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-live { named, default } { named, default } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } 'default' 'default' 'named-outdated' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-non-enumerable { [named], [default] } { [named], [default] } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false false
named-and-default-export-non-enumerable-inherited { [named], [default] } { [named], [default] } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false false
named-and-null-default-export { named, default: null } { named, default: null } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false false
named-and-null-default-export-esModule

named-and-null-default-export-runtime-esModule
{ [__esModule], named, default: null } { [__esModule], named, default: null } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default: null }, [Module] } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } true false
named-and-null-default-export-non-enumerable { [named], [default]: null } { [named], [default]: null } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { [named], [default]: null } false false
named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } { named, default: null } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false false
named-export { named } { named } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false false
named-export-esModule

named-export-runtime-esModule
{ [__esModule], named } { [__esModule], named } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named }, [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } true false
named-export-non-enumerable { [named] } { [named] } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { [named] } false false
named-export-runtime

single-object-export
{ named } { named } 'named' 'named' true true [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false false
order { b, a, c } { b, a, c } undefined + errors undefined true + errors true [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } undefined undefined undefined undefined undefined undefined undefined { b, a, c } false false
order-esModule { [__esModule], b, a, c } { [__esModule], b, a, c } undefined + errors undefined true true [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { [__esModule], b, a, c }, [Module] } [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { [__esModule], b, a, c }, [Module] } undefined undefined undefined undefined undefined true true { [__esModule], b, a, c } true false
order-esm undefined + errors undefined undefined + errors undefined true + errors true { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } undefined undefined undefined undefined undefined true true { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } true true
require-circular

require-circular-self

require-conditional-execution
{ default, named } { default, named } 'named' 'named' true + errors true [Module: null prototype] { [__esModule], default: [G] { default, named }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: [G] { default, named }, named: [G], [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { default, named } false false
single-empty-string-export '' '' undefined undefined true true [Module: null prototype] { [__esModule], default: [G: ''], [Module] } [Module: null prototype] { [__esModule], default: [G: ''], [Module] } undefined undefined undefined undefined undefined undefined undefined '' false false
single-null-export null null type error undefined true true [Module: null prototype] { [__esModule], default: [G: null], [Module] } [Module: null prototype] { [__esModule], default: [G: null], [Module] } type error undefined type error type error undefined type error undefined null false false
single-promise-object-export Promise { { named } } Promise { { named } } undefined undefined true true [Module: null prototype] { [__esModule], constructor: [G: <Inspection threw>], then: [G: <Inspection threw>], catch: [G: <Inspection threw>], finally: [G: <Inspection threw>], default: [G] Promise { { named } }, [Module] } { named } undefined undefined undefined undefined undefined undefined undefined Promise { { named } } false false
single-promise-object-with-default-export Promise { { named, default } } Promise { { named, default } } undefined undefined true true [Module: null prototype] { [__esModule], constructor: [G: <Inspection threw>], then: [G: <Inspection threw>], catch: [G: <Inspection threw>], finally: [G: <Inspection threw>], default: [G] Promise { { named, default } }, [Module] } { named, default } undefined undefined undefined undefined undefined undefined undefined Promise { { named, default } } false false
single-promise-string-export Promise { 'single' } Promise { 'single' } undefined undefined true true [Module: null prototype] { [__esModule], constructor: [G: <Inspection threw>], then: [G: <Inspection threw>], catch: [G: <Inspection threw>], finally: [G: <Inspection threw>], default: [G] Promise { 'single' }, [Module] } 'single' undefined undefined undefined undefined undefined undefined undefined Promise { 'single' } false false
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' 'single' undefined undefined true true [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } undefined undefined undefined undefined undefined undefined undefined 'single' false false
single-string-export-esm-reexport undefined + errors undefined undefined undefined true true { [__esModule], [Module] } { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } undefined undefined undefined undefined undefined true true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } true true
single-string-export-live 'single-outdated' 'single-outdated' undefined undefined true true [Module: null prototype] { [__esModule], default: [G: 'single-outdated'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single-outdated'], [Module] } undefined undefined undefined undefined undefined undefined undefined 'single-outdated' false false
tla-esModule

tla-esModule-esm-reexport
compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error
tla-esm 'default' 'default' 'named' 'named' true + errors true { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } false true
tla-esm-esm-reexport undefined + errors undefined 'named' 'named' true + errors true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { [__esModule], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } false true

automatic ESM

When using a .js without "type": "module" in the package.json context and ESM is automatic-detect (no import or export used).

Version: webpack@5.81.0 node@20.0.0

webpack-js import x

import { default as x }

import * as x; x.default
import * as x; ident(x).default import { named as x }

import * as x; x.named
import * as x; ident(x).named import { __esModule as x }

import * as x; x.__esModule
import * as x; ident(x).__esModule import * as x import() x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); x.named x = require(); ident(x).named { __esModule } = require()

x = require(); x.__esModule
x = require(); ident(x).__esModule x = require() await import() === require() import * as x; x === await import()
default-export { default } { default } undefined + warnings undefined true + warnings true [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } 'default' 'default' undefined undefined undefined undefined undefined { default } false false
default-export-esModule 'default' 'default' undefined + warnings undefined true true { [__esModule], default } { [__esModule], default } 'default' 'default' undefined undefined undefined true true { [__esModule], default } true true
default-export-esModule-esm-reexport undefined + warnings undefined undefined + warnings undefined true true { [__esModule], [Module] } { [__esModule], [Module] } undefined undefined undefined undefined undefined true true { [__esModule], [Module] } true true
default-export-esm 'default' 'default' undefined + warnings undefined true + warnings true { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } 'default' 'default' undefined undefined undefined true true { [__esModule], default: [G], [Module] } true true
default-export-runtime { default } 'default' undefined undefined true undefined { default } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } 'default' 'default' undefined undefined undefined undefined undefined { default } false false
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-reexport
{ named, default } { named, default } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-babel-getter 'default' 'default' 'named' 'named' true true { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named: [G], default: [G] } true true
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
'default' 'default' 'named' 'named' true true { [__esModule], named, default } { [__esModule], named, default } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } true true
named-and-default-export-esModule-esm-reexport undefined + warnings undefined 'named' 'named' true true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G], [Module] } true true
named-and-default-export-esm 'default' 'default' 'named' 'named' true + warnings true { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], default: [G], named: [G], [Module] } true true
named-and-default-export-esm-esm-reexport

named-and-default-export-esm-reexport

named-export-esm
undefined + warnings undefined 'named' 'named' true + warnings true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G], [Module] } true true
named-and-default-export-getter { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } false false
named-and-default-export-getter-esModule 'default' 'default' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } true true
named-and-default-export-inherited

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } 'default' 'named' 'named' true undefined { named, default } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-live { named, default } { named, default } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } 'default' 'default' 'named-outdated' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-non-enumerable { [named], [default] } { [named], [default] } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false false
named-and-default-export-non-enumerable-inherited { [named], [default] } 'default' 'named' 'named' true undefined { [named], [default] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false false
named-and-null-default-export { named, default: null } { named, default: null } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false false
named-and-null-default-export-esModule

named-and-null-default-export-runtime-esModule
null null 'named' 'named' true true { [__esModule], named, default: null } { [__esModule], named, default: null } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } true true
named-and-null-default-export-non-enumerable { [named], [default]: null } { [named], [default]: null } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { [named], [default]: null } false false
named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } null 'named' 'named' true undefined { named, default: null } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false false
named-export { named } { named } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false false
named-export-esModule undefined + warnings undefined 'named' 'named' true true { [__esModule], named } { [__esModule], named } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } true true
named-export-non-enumerable { [named] } { [named] } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { [named] } false false
named-export-runtime

single-object-export
{ named } undefined 'named' 'named' true undefined { named } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false false
named-export-runtime-esModule undefined undefined 'named' 'named' true true { [__esModule], named } { [__esModule], named } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } true true
order { b, a, c } { b, a, c } undefined + warnings undefined true + warnings true [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } undefined undefined undefined undefined undefined undefined undefined { b, a, c } false false
order-esModule undefined + warnings undefined undefined + warnings undefined true true { [__esModule], b, a, c } { [__esModule], b, a, c } undefined undefined undefined undefined undefined true true { [__esModule], b, a, c } true true
order-esm undefined + warnings undefined undefined + warnings undefined true + warnings true { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } undefined undefined undefined undefined undefined true true { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } true true
require-circular

require-circular-self

require-conditional-execution
{ default, named } { default, named } 'named' 'named' true + warnings true [Module: null prototype] { [__esModule], default: [G] { default, named }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: [G] { default, named }, named: [G], [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { default, named } false false
single-empty-string-export '' undefined undefined undefined true undefined '' [Module: null prototype] { [__esModule], default: [G: ''], [Module] } undefined undefined undefined undefined undefined undefined undefined '' false false
single-null-export null undefined type error undefined true undefined null [Module: null prototype] { [__esModule], default: [G: null], [Module] } type error undefined type error type error undefined type error undefined null false false
single-promise-object-export Promise { { named } } undefined undefined undefined true undefined Promise { { named } } { named } undefined undefined undefined undefined undefined undefined undefined Promise { { named } } false false
single-promise-object-with-default-export Promise { { named, default } } undefined undefined undefined true undefined Promise { { named, default } } { named, default } undefined undefined undefined undefined undefined undefined undefined Promise { { named, default } } false false
single-promise-string-export Promise { 'single' } undefined undefined undefined true undefined Promise { 'single' } 'single' undefined undefined undefined undefined undefined undefined undefined Promise { 'single' } false false
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' undefined undefined undefined true undefined 'single' [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } undefined undefined undefined undefined undefined undefined undefined 'single' false false
single-string-export-esm-reexport undefined + warnings undefined undefined undefined true true { [__esModule], [Module] } { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } undefined undefined undefined undefined undefined true true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } true true
single-string-export-live 'single-outdated' undefined undefined undefined true undefined 'single-outdated' [Module: null prototype] { [__esModule], default: [G: 'single-outdated'], [Module] } undefined undefined undefined undefined undefined undefined undefined 'single-outdated' false false
tla-esModule

tla-esModule-esm-reexport
compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error
tla-esm 'default' 'default' 'named' 'named' true + warnings true { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } false true
tla-esm-esm-reexport undefined + warnings undefined 'named' 'named' true + warnings true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { [__esModule], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } false true

Rollup

Version: @rollup/plugin-commonjs@24.1.0 rollup@3.21.3 node@20.0.0

rollup import x

import { default as x }
import * as x; x.default import * as x; ident(x).default import { named as x } import * as x; x.named import * as x; ident(x).named import { __esModule as x } import * as x; x.__esModule import * as x; ident(x).__esModule import * as x import() x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); x.named x = require(); ident(x).named { __esModule } = require()

x = require(); x.__esModule
x = require(); ident(x).__esModule x = require() await import() === require() import * as x; x === await import()
default-export

default-export-runtime
{ default } { default } { default } undefined undefined undefined undefined undefined undefined [Object: null prototype] { default: { default } } [Object: null prototype] { default: { default } } 'default' 'default' undefined undefined undefined undefined undefined { default } false true
default-export-esModule 'default' 'default' 'default' undefined undefined undefined true true undefined [Object: null prototype] { default } [Object: null prototype] { default } 'default' 'default' undefined undefined undefined true true { [__esModule], default } false true
default-export-esModule-esm-reexport compilation error undefined + warnings undefined undefined undefined undefined true true undefined [Object: null prototype] {} {} undefined undefined undefined undefined undefined true true { [__esModule] } false true
default-export-esm 'default' 'default' 'default' compilation error undefined + warnings undefined compilation error undefined + warnings undefined [Object: null prototype] { default } { default } 'default' 'default' undefined undefined undefined true true { [__esModule], default: [G] } false true
named-and-default-export { named, default } { named, default } { named, default } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { named, default }, named } [Object: null prototype] { default: { named, default }, named } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-babel-getter 'default' 'default' 'default' 'named' 'named' 'named' true true undefined [Object: null prototype] { default, named: [G] } [Object: null prototype] { default, named: [G] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named: [G], default: [G] } false true
named-and-default-export-duplicate

named-and-default-export-reexport

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } { named, default } { named, default } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { named, default }, named: [G] } [Object: null prototype] { default: { named, default }, named: [G] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-esModule 'default' 'default' 'default' 'named' 'named' 'named' true true undefined [Object: null prototype] { default, named } [Object: null prototype] { default, named } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } false true
named-and-default-export-esModule-duplicate 'default' 'default' 'default' 'named' 'named' 'named' true true undefined [Object: null prototype] { default: [G], named: [G] } [Object: null prototype] { default: [G], named: [G] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } false true
named-and-default-export-esModule-esm-reexport compilation error undefined + warnings undefined 'named' 'named' 'named' true true undefined [Object: null prototype] { named } { named } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G] } false true
named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
'default' 'default' 'default' 'named' 'named' 'named' true true undefined [Object: null prototype] { default, named: [G] } [Object: null prototype] { default, named: [G] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } false true
named-and-default-export-esm 'default' 'default' 'default' 'named' 'named' 'named' compilation error undefined + warnings undefined [Object: null prototype] { default, named } { default, named } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], default: [G], named: [G] } false true
named-and-default-export-esm-esm-reexport

named-export-esm
compilation error undefined + warnings undefined 'named' 'named' 'named' compilation error undefined + warnings undefined [Object: null prototype] { named } { named } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G] } false true
named-and-default-export-esm-reexport compilation error undefined + warnings undefined 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { named } { named } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G] } false true
named-and-default-export-getter { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } 'named' 'named' undefined undefined undefined undefined [Object: null prototype] { default: { [named]: [G], [default]: [G] } } [Object: null prototype] { default: { [named]: [G], [default]: [G] } } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } false true
named-and-default-export-getter-esModule 'default' 'default' 'default' 'named' 'named' undefined true true undefined [Object: null prototype] { default } [Object: null prototype] { default } 'default' 'default' 'named' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } false true
named-and-default-export-inherited { named, default } { named, default } { named, default } 'named' 'named' undefined undefined undefined undefined [Object: null prototype] { default: { named, default } } [Object: null prototype] { default: { named, default } } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-live { named, default } { named, default } { named, default } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { named, default }, named: [G] } [Object: null prototype] { default: { named, default }, named: [G] } 'default' 'default' 'named-outdated' 'named' 'named' undefined undefined { named, default } false true
named-and-default-export-non-enumerable

named-and-default-export-non-enumerable-inherited
{ [named], [default] } { [named], [default] } { [named], [default] } 'named' 'named' undefined undefined undefined undefined [Object: null prototype] { default: { [named], [default] } } [Object: null prototype] { default: { [named], [default] } } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false true
named-and-null-default-export { named, default: null } { named, default: null } { named, default: null } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { named, default: null }, named } [Object: null prototype] { default: { named, default: null }, named } null null 'named' 'named' 'named' undefined undefined { named, default: null } false true
named-and-null-default-export-esModule null null null 'named' 'named' 'named' true true undefined [Object: null prototype] { default: null, named } [Object: null prototype] { default: null, named } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } false true
named-and-null-default-export-non-enumerable { [named], [default]: null } { [named], [default]: null } { [named], [default]: null } 'named' 'named' undefined undefined undefined undefined [Object: null prototype] { default: { [named], [default]: null } } [Object: null prototype] { default: { [named], [default]: null } } null null 'named' 'named' 'named' undefined undefined { [named], [default]: null } false true
named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } { named, default: null } { named, default: null } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { named, default: null }, named: [G] } [Object: null prototype] { default: { named, default: null }, named: [G] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false true
named-and-null-default-export-runtime-esModule null null null 'named' 'named' 'named' true true undefined [Object: null prototype] { default: null, named: [G] } [Object: null prototype] { default: null, named: [G] } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } false true
named-export { named } { named } { named } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { named }, named } [Object: null prototype] { default: { named }, named } undefined undefined 'named' 'named' 'named' undefined undefined { named } false true
named-export-esModule { [__esModule], named } { [__esModule], named } { [__esModule], named } 'named' 'named' 'named' true true undefined [Object: null prototype] { default: { [__esModule], named }, named } [Object: null prototype] { default: { [__esModule], named }, named } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } false true
named-export-non-enumerable { [named] } { [named] } { [named] } 'named' 'named' undefined undefined undefined undefined [Object: null prototype] { default: { [named] } } [Object: null prototype] { default: { [named] } } undefined undefined 'named' 'named' 'named' undefined undefined { [named] } false true
named-export-runtime

single-object-export
{ named } { named } { named } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { named }, named: [G] } [Object: null prototype] { default: { named }, named: [G] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false true
named-export-runtime-esModule { [__esModule], named } { [__esModule], named } { [__esModule], named } 'named' 'named' 'named' true true undefined [Object: null prototype] { default: { [__esModule], named }, named: [G] } [Object: null prototype] { default: { [__esModule], named }, named: [G] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } false true
order { b, a, c } { b, a, c } { b, a, c } undefined undefined undefined undefined undefined undefined [Object: null prototype] { a, b, c, default: { b, a, c } } [Object: null prototype] { a, b, c, default: { b, a, c } } undefined undefined undefined undefined undefined undefined undefined { b, a, c } false true
order-esModule { [__esModule], b, a, c } { [__esModule], b, a, c } { [__esModule], b, a, c } undefined undefined undefined true true undefined [Object: null prototype] { a, b, c, default: { [__esModule], b, a, c } } [Object: null prototype] { a, b, c, default: { [__esModule], b, a, c } } undefined undefined undefined undefined undefined true true { [__esModule], b, a, c } false true
order-esm compilation error undefined + warnings undefined compilation error undefined + warnings undefined compilation error undefined + warnings undefined [Object: null prototype] { a, b, c } { a, b, c } undefined undefined undefined undefined undefined true true { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } false true
require-circular

require-circular-self
{ default, named } + warnings { default, named } + warnings { default, named } + warnings 'named' + warnings 'named' + warnings 'named' + warnings undefined + warnings undefined + warnings undefined + warnings [Object: null prototype] { default: { default, named }, named: [G] } + warnings [Object: null prototype] { default: { default, named }, named: [G] } + warnings 'default' + warnings 'default' + warnings 'named' + warnings 'named' + warnings 'named' + warnings undefined + warnings undefined + warnings { default, named } + warnings false + warnings true + warnings
require-conditional-execution { default, named } { default, named } { default, named } 'named' 'named' 'named' undefined undefined undefined [Object: null prototype] { default: { default, named }, named: [G] } [Object: null prototype] { default: { default, named }, named: [G] } 'default' 'default' 'named' 'named' 'named' undefined undefined { default, named } false true
single-empty-string-export '' '' '' undefined undefined undefined undefined undefined undefined [Object: null prototype] { default: '' } [Object: null prototype] { default: '' } undefined undefined undefined undefined undefined undefined undefined '' false true
single-null-export null null null type error type error undefined type error type error undefined [Object: null prototype] { default: null } [Object: null prototype] { default: null } type error undefined type error type error undefined type error undefined null false true
single-promise-object-export Promise { { named } } Promise { { named } } Promise { { named } } undefined undefined undefined undefined undefined undefined [Object: null prototype] { default: Promise { { named } } } [Object: null prototype] { default: Promise { { named } } } undefined undefined undefined undefined undefined undefined undefined Promise { { named } } false true
single-promise-object-with-default-export Promise { { named, default } } Promise { { named, default } } Promise { { named, default } } undefined undefined undefined undefined undefined undefined [Object: null prototype] { default: Promise { { named, default } } } [Object: null prototype] { default: Promise { { named, default } } } undefined undefined undefined undefined undefined undefined undefined Promise { { named, default } } false true
single-promise-string-export Promise { 'single' } Promise { 'single' } Promise { 'single' } undefined undefined undefined undefined undefined undefined [Object: null prototype] { default: Promise { 'single' } } [Object: null prototype] { default: Promise { 'single' } } undefined undefined undefined undefined undefined undefined undefined Promise { 'single' } false true
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' 'single' 'single' undefined undefined undefined undefined undefined undefined [Object: null prototype] { default: 'single' } [Object: null prototype] { default: 'single' } undefined undefined undefined undefined undefined undefined undefined 'single' false true
single-string-export-esm-reexport compilation error undefined + warnings undefined undefined undefined undefined undefined undefined undefined [Object: null prototype] {} {} undefined undefined undefined undefined undefined true true { [__esModule] } false true
single-string-export-live 'single-outdated' 'single-outdated' 'single-outdated' undefined undefined undefined undefined undefined undefined [Object: null prototype] { default: 'single-outdated' } [Object: null prototype] { default: 'single-outdated' } undefined undefined undefined undefined undefined undefined undefined 'single-outdated' false true
tla-esModule

tla-esModule-esm-reexport

tla-esm

tla-esm-esm-reexport
compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error

esbuild

Version: esbuild@0.17.18 node@20.0.0

esbuild import x

import { default as x }
import * as x; x.default

import * as x; ident(x).default
import { named as x } import * as x; x.named

import * as x; ident(x).named

x = require(); ident(x).named
import { __esModule as x } import * as x; x.__esModule

import * as x; ident(x).__esModule
import * as x import() x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); x.named { __esModule } = require()

x = require(); x.__esModule
x = require(); ident(x).__esModule x = require() await import() === require() import * as x; x === await import()
default-export

default-export-runtime
{ default } { default } undefined undefined undefined undefined { default: { default } } { default: { default } } 'default' 'default' undefined undefined undefined undefined { default } false false
default-export-esModule { [__esModule], default } { [__esModule], default } undefined undefined true true { default: { [__esModule], default }, [__esModule]: [G: true] } { default: { [__esModule], default }, [__esModule]: [G: true] } 'default' 'default' undefined undefined true true { [__esModule], default } false false
default-export-esModule-esm-reexport undefined undefined undefined undefined true true { [__esModule]: [G: true] } { [__esModule]: [G: true] } undefined undefined undefined undefined true true { [__esModule] } false true
default-export-esm 'default' 'default' compilation error undefined compilation error undefined { default: [G] } { default: [G] } 'default' 'default' undefined undefined true true { [__esModule], default: [G] } false true
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-reexport

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } { named, default } 'named' 'named' undefined undefined { default: { named, default }, named: [G] } { default: { named, default }, named: [G] } 'default' 'default' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-babel-getter { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } 'named' 'named' true true { default: { [__esModule], named: [G], default: [G] }, [__esModule]: [G: true], named: [G] } { default: { [__esModule], named: [G], default: [G] }, [__esModule]: [G: true], named: [G] } 'default' 'default' 'named' 'named' true true { [__esModule], named: [G], default: [G] } false false
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
{ [__esModule], named, default } { [__esModule], named, default } 'named' 'named' true true { default: { [__esModule], named, default }, [__esModule]: [G: true], named: [G] } { default: { [__esModule], named, default }, [__esModule]: [G: true], named: [G] } 'default' 'default' 'named' 'named' true true { [__esModule], named, default } false false
named-and-default-export-esModule-esm-reexport undefined undefined 'named' 'named' true true { [__esModule]: [G: true], named: [G] } { [__esModule]: [G: true], named: [G] } undefined undefined 'named' 'named' true true { [__esModule], named: [G] } false true
named-and-default-export-esm 'default' 'default' 'named' 'named' compilation error undefined { default: [G], named: [G] } { default: [G], named: [G] } 'default' 'default' 'named' 'named' true true { [__esModule], default: [G], named: [G] } false true
named-and-default-export-esm-esm-reexport

named-export-esm
compilation error undefined 'named' 'named' compilation error undefined { named: [G] } { named: [G] } undefined undefined 'named' 'named' true true { [__esModule], named: [G] } false true
named-and-default-export-esm-reexport undefined undefined 'named' 'named' undefined undefined { named: [G] } { named: [G] } undefined undefined 'named' 'named' true true { [__esModule], named: [G] } false true
named-and-default-export-getter { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } 'named' 'named' undefined undefined { default: { [named]: [G], [default]: [G] }, [named]: [G] } { default: { [named]: [G], [default]: [G] }, [named]: [G] } 'default' 'default' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } false false
named-and-default-export-getter-esModule { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } 'named' 'named' true true { default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [__esModule]: [G: true], [named]: [G] } { default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [__esModule]: [G: true], [named]: [G] } 'default' 'default' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } false false
named-and-default-export-inherited { named, default } { named, default } 'named' 'named' undefined undefined { default: { named, default }, named } { default: { named, default }, named } 'default' 'default' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-live { named, default } { named, default } 'named' 'named' undefined undefined { default: { named, default }, named: [G] } { default: { named, default }, named: [G] } 'default' 'default' 'named-outdated' 'named' undefined undefined { named, default } false false
named-and-default-export-non-enumerable { [named], [default] } { [named], [default] } 'named' 'named' undefined undefined { default: { [named], [default] }, [named]: [G] } { default: { [named], [default] }, [named]: [G] } 'default' 'default' 'named' 'named' undefined undefined { [named], [default] } false false
named-and-default-export-non-enumerable-inherited { [named], [default] } { [named], [default] } 'named' 'named' undefined undefined { default: { [named], [default] }, [named] } { default: { [named], [default] }, [named] } 'default' 'default' 'named' 'named' undefined undefined { [named], [default] } false false
named-and-null-default-export

named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } { named, default: null } 'named' 'named' undefined undefined { default: { named, default: null }, named: [G] } { default: { named, default: null }, named: [G] } null null 'named' 'named' undefined undefined { named, default: null } false false
named-and-null-default-export-esModule

named-and-null-default-export-runtime-esModule
{ [__esModule], named, default: null } { [__esModule], named, default: null } 'named' 'named' true true { default: { [__esModule], named, default: null }, [__esModule]: [G: true], named: [G] } { default: { [__esModule], named, default: null }, [__esModule]: [G: true], named: [G] } null null 'named' 'named' true true { [__esModule], named, default: null } false false
named-and-null-default-export-non-enumerable { [named], [default]: null } { [named], [default]: null } 'named' 'named' undefined undefined { default: { [named], [default]: null }, [named]: [G] } { default: { [named], [default]: null }, [named]: [G] } null null 'named' 'named' undefined undefined { [named], [default]: null } false false
named-export

named-export-runtime

single-object-export
{ named } { named } 'named' 'named' undefined undefined { default: { named }, named: [G] } { default: { named }, named: [G] } undefined undefined 'named' 'named' undefined undefined { named } false false
named-export-esModule

named-export-runtime-esModule
{ [__esModule], named } { [__esModule], named } 'named' 'named' true true { default: { [__esModule], named }, [__esModule]: [G: true], named: [G] } { default: { [__esModule], named }, [__esModule]: [G: true], named: [G] } undefined undefined 'named' 'named' true true { [__esModule], named } false false
named-export-non-enumerable { [named] } { [named] } 'named' 'named' undefined undefined { default: { [named] }, [named]: [G] } { default: { [named] }, [named]: [G] } undefined undefined 'named' 'named' undefined undefined { [named] } false false
order { b, a, c } { b, a, c } undefined undefined undefined undefined { default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } { default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } undefined undefined undefined undefined undefined undefined { b, a, c } false false
order-esModule { [__esModule], b, a, c } { [__esModule], b, a, c } undefined undefined true true { default: { [__esModule], b, a, c }, [__esModule]: [G: true], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } { default: { [__esModule], b, a, c }, [__esModule]: [G: true], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } undefined undefined undefined undefined true true { [__esModule], b, a, c } false false
order-esm compilation error undefined compilation error undefined compilation error undefined { a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } { a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } undefined undefined undefined undefined true true { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } false true
require-circular

require-circular-self

require-conditional-execution
{ default, named } { default, named } 'named' 'named' undefined undefined { default: { default, named }, named: [G] } { default: { default, named }, named: [G] } 'default' 'default' 'named' 'named' undefined undefined { default, named } false false
single-empty-string-export '' '' undefined undefined undefined undefined String { default: '' } String { default: '' } undefined undefined undefined undefined undefined undefined '' false false
single-null-export null null undefined undefined undefined undefined { default: null } { default: null } type error undefined type error type error type error undefined null false false
single-promise-object-export Promise { { named } } Promise { { named } } undefined undefined undefined undefined Promise { default: Promise { { named } } } type error undefined undefined undefined undefined undefined undefined Promise { { named } } type error type error
single-promise-object-with-default-export Promise { { named, default } } Promise { { named, default } } undefined undefined undefined undefined Promise { default: Promise { { named, default } } } type error undefined undefined undefined undefined undefined undefined Promise { { named, default } } type error type error
single-promise-string-export Promise { 'single' } Promise { 'single' } undefined undefined undefined undefined Promise { default: Promise { 'single' } } type error undefined undefined undefined undefined undefined undefined Promise { 'single' } type error type error
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' 'single' undefined undefined undefined undefined String { default: 'single' } String { default: 'single' } undefined undefined undefined undefined undefined undefined 'single' false false
single-string-export-esm-reexport undefined undefined undefined undefined undefined undefined {} {} undefined undefined undefined undefined true true { [__esModule] } false true
single-string-export-live 'single-outdated' 'single-outdated' undefined undefined undefined undefined String { default: 'single-outdated' } String { default: 'single-outdated' } undefined undefined undefined undefined undefined undefined 'single-outdated' false false
tla-esModule

tla-esModule-esm-reexport

tla-esm

tla-esm-esm-reexport
compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error

Webpack 4

normal

When not using the .mjs extension.

Version: webpack@4.46.0 node@20.0.0

webpack4 import x

import { default as x }

import * as x; x.default
import * as x; ident(x).default

x = require(); ident(x).default
import { named as x }

import * as x; x.named
import * as x; ident(x).named

x = require(); ident(x).named
import { __esModule as x }

import * as x; x.__esModule
import * as x; ident(x).__esModule

x = require(); ident(x).__esModule
import * as x import() x = require(); x.default { named } = require() x = require(); x.named { __esModule } = require()

x = require(); x.__esModule
x = require() await import() === require()

import * as x; x === await import()
default-export

default-export-runtime
{ default } 'default' undefined undefined undefined undefined { default } [Module: null prototype] { [__esModule], default: { default }, [Module] } 'default' undefined undefined undefined { default } false
default-export-esModule 'default' 'default' undefined undefined true true { [__esModule], default } { [__esModule], default } 'default' undefined undefined true { [__esModule], default } true
default-export-esModule-esm-reexport undefined undefined undefined undefined true true { [__esModule], [Module] } { [__esModule], [Module] } undefined undefined undefined true { [__esModule], [Module] } true
default-export-esm 'default' 'default' undefined + warnings undefined undefined + warnings true { [__esModule], default: [G], [Module] } { [__esModule], default, [Module] } 'default' undefined undefined true { [__esModule], default, [Module] } true
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-inherited

named-and-default-export-reexport

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } 'default' 'named' 'named' undefined undefined { named, default } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } 'default' 'named' 'named' undefined { named, default } false
named-and-default-export-babel-getter 'default' 'default' 'named' 'named' true true { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } 'default' 'named' 'named' true { [__esModule], named: [G], default: [G] } true
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
'default' 'default' 'named' 'named' true true { [__esModule], named, default } { [__esModule], named, default } 'default' 'named' 'named' true { [__esModule], named, default } true
named-and-default-export-esModule-esm-reexport undefined undefined 'named' 'named' true true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined 'named' 'named' true { [__esModule], named: [G], [Module] } true
named-and-default-export-esm 'default' 'default' 'named' 'named' undefined + warnings true { [__esModule], named: [G], default: [G], [Module] } { [__esModule], named: [G], default, [Module] } 'default' 'named' 'named' true { [__esModule], named: [G], default, [Module] } true
named-and-default-export-esm-esm-reexport

named-export-esm
undefined + warnings undefined 'named' 'named' undefined + warnings true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined 'named' 'named' true { [__esModule], named: [G], [Module] } true
named-and-default-export-esm-reexport undefined undefined 'named' 'named' undefined true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined 'named' 'named' true { [__esModule], named: [G], [Module] } true
named-and-default-export-getter { [named]: [G], [default]: [G] } 'default' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } [Module: null prototype] { [__esModule], default: { [named]: [G], [default]: [G] }, [Module] } 'default' 'named' 'named' undefined { [named]: [G], [default]: [G] } false
named-and-default-export-getter-esModule 'default' 'default' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } 'default' 'named' 'named' true { [__esModule]: [G: true], [named]: [G], [default]: [G] } true
named-and-default-export-live { named, default } 'default' 'named' 'named' undefined undefined { named, default } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } 'default' 'named-outdated' 'named' undefined { named, default } false
named-and-default-export-non-enumerable

named-and-default-export-non-enumerable-inherited
{ [named], [default] } 'default' 'named' 'named' undefined undefined { [named], [default] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] } 'default' 'named' 'named' undefined { [named], [default] } false
named-and-null-default-export

named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } null 'named' 'named' undefined undefined { named, default: null } [Module: null prototype] { [__esModule], default: { named, default: null }, named: [G], [Module] } null 'named' 'named' undefined { named, default: null } false
named-and-null-default-export-esModule

named-and-null-default-export-runtime-esModule
null null 'named' 'named' true true { [__esModule], named, default: null } { [__esModule], named, default: null } null 'named' 'named' true { [__esModule], named, default: null } true
named-and-null-default-export-non-enumerable { [named], [default]: null } null 'named' 'named' undefined undefined { [named], [default]: null } [Module: null prototype] { [__esModule], default: { [named], [default]: null }, [Module] } null 'named' 'named' undefined { [named], [default]: null } false
named-export

named-export-runtime

single-object-export
{ named } undefined 'named' 'named' undefined undefined { named } [Module: null prototype] { [__esModule], default: { named }, named: [G], [Module] } undefined 'named' 'named' undefined { named } false
named-export-esModule

named-export-runtime-esModule
undefined undefined 'named' 'named' true true { [__esModule], named } { [__esModule], named } undefined 'named' 'named' true { [__esModule], named } true
named-export-non-enumerable { [named] } undefined 'named' 'named' undefined undefined { [named] } [Module: null prototype] { [__esModule], default: { [named] }, [Module] } undefined 'named' 'named' undefined { [named] } false
order { b, a, c } undefined undefined undefined undefined undefined { b, a, c } [Module: null prototype] { [__esModule], default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } undefined undefined undefined undefined { b, a, c } false
order-esModule undefined undefined undefined undefined true true { [__esModule], b, a, c } { [__esModule], b, a, c } undefined undefined undefined true { [__esModule], b, a, c } true
order-esm undefined + warnings undefined undefined + warnings undefined undefined + warnings true { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } undefined undefined undefined true { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } true
require-circular

require-circular-self

require-conditional-execution
{ default, named } 'default' 'named' 'named' undefined undefined { default, named } [Module: null prototype] { [__esModule], default: { default, named }, named: [G], [Module] } 'default' 'named' 'named' undefined { default, named } false
single-empty-string-export '' undefined undefined undefined undefined undefined '' [Module: null prototype] { [__esModule], default: '', [Module] } undefined undefined undefined undefined '' false
single-null-export null undefined type error undefined type error undefined null [Module: null prototype] { [__esModule], default: null, [Module] } type error type error type error type error null false
single-promise-object-export Promise { { named } } undefined undefined undefined undefined undefined Promise { { named } } [Module: null prototype] { [__esModule], default: Promise { { named } }, [Module] } undefined undefined undefined undefined Promise { { named } } false
single-promise-object-with-default-export Promise { { named, default } } undefined undefined undefined undefined undefined Promise { { named, default } } [Module: null prototype] { [__esModule], default: Promise { { named, default } }, [Module] } undefined undefined undefined undefined Promise { { named, default } } false
single-promise-string-export Promise { 'single' } undefined undefined undefined undefined undefined Promise { 'single' } [Module: null prototype] { [__esModule], default: Promise { 'single' }, [Module] } undefined undefined undefined undefined Promise { 'single' } false
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' undefined undefined undefined undefined undefined 'single' [Module: null prototype] { [__esModule], default: 'single', [Module] } undefined undefined undefined undefined 'single' false
single-string-export-esm-reexport undefined undefined undefined undefined undefined true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } undefined undefined undefined true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } true
single-string-export-live 'single-outdated' undefined undefined undefined undefined undefined 'single-outdated' [Module: null prototype] { [__esModule], default: 'single-outdated', [Module] } undefined undefined undefined undefined 'single-outdated' false
tla-esModule

tla-esModule-esm-reexport

tla-esm

tla-esm-esm-reexport
compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error

mjs extension

When using the .mjs extension.

Version: webpack@4.46.0 node@20.0.0

webpack4-mjs import x

import { default as x }

import * as x; x.default
import * as x; ident(x).default import { named as x }

import * as x; x.named
import * as x; ident(x).named import { __esModule as x }

import * as x; x.__esModule
import * as x; ident(x).__esModule import * as x import() x = require(); x.default x = require(); ident(x).default { named } = require() x = require(); x.named x = require(); ident(x).named { __esModule } = require()

x = require(); x.__esModule
x = require(); ident(x).__esModule x = require() await import() === require() import * as x; x === await import()
default-export

default-export-runtime
{ default } { default } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { default }, [Module] } [Module: null prototype] { [__esModule], default: { default }, [Module] } 'default' 'default' undefined undefined undefined undefined undefined { default } false false
default-export-esModule { [__esModule], default } { [__esModule], default } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [__esModule], default }, [Module] } [Module: null prototype] { [__esModule], default: { [__esModule], default }, [Module] } 'default' 'default' undefined undefined undefined true true { [__esModule], default } true false
default-export-esModule-esm-reexport undefined undefined undefined undefined true true { [__esModule], [Module] } { [__esModule], [Module] } undefined undefined undefined undefined undefined true true { [__esModule], [Module] } true true
default-export-esm 'default' 'default' undefined + errors undefined undefined + errors true { [__esModule], default: [G], [Module] } { [__esModule], default, [Module] } 'default' 'default' undefined undefined undefined true true { [__esModule], default, [Module] } true true
named-and-default-export

named-and-default-export-duplicate

named-and-default-export-inherited

named-and-default-export-reexport

named-and-default-export-runtime

single-object-with-default-export

single-object-with-default-export-duplicate
{ named, default } { named, default } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-babel-getter { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [__esModule], named: [G], default: [G] }, [Module] } [Module: null prototype] { [__esModule], default: { [__esModule], named: [G], default: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named: [G], default: [G] } true false
named-and-default-export-esModule

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-reexport

named-and-default-export-runtime-esModule
{ [__esModule], named, default } { [__esModule], named, default } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [__esModule], named, default }, [Module] } [Module: null prototype] { [__esModule], default: { [__esModule], named, default }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named, default } true false
named-and-default-export-esModule-esm-reexport undefined undefined 'named' 'named' true true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G], [Module] } true true
named-and-default-export-esm 'default' 'default' 'named' 'named' undefined + errors true { [__esModule], named: [G], default: [G], [Module] } { [__esModule], named: [G], default, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule], named: [G], default, [Module] } true true
named-and-default-export-esm-esm-reexport

named-export-esm
undefined + errors undefined 'named' 'named' undefined + errors true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G], [Module] } true true
named-and-default-export-esm-reexport undefined undefined 'named' 'named' undefined true { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named: [G], [Module] } true true
named-and-default-export-getter { [named]: [G], [default]: [G] } { [named]: [G], [default]: [G] } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], default: { [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named]: [G], [default]: [G] } false false
named-and-default-export-getter-esModule { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } 'default' 'default' 'named' 'named' 'named' true true { [__esModule]: [G: true], [named]: [G], [default]: [G] } true false
named-and-default-export-live { named, default } { named, default } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] } 'default' 'default' 'named-outdated' 'named' 'named' undefined undefined { named, default } false false
named-and-default-export-non-enumerable

named-and-default-export-non-enumerable-inherited
{ [named], [default] } { [named], [default] } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { [named], [default] } false false
named-and-null-default-export

named-and-null-default-export-runtime

single-object-with-null-default-export
{ named, default: null } { named, default: null } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { named, default: null }, [Module] } [Module: null prototype] { [__esModule], default: { named, default: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { named, default: null } false false
named-and-null-default-export-esModule

named-and-null-default-export-runtime-esModule
{ [__esModule], named, default: null } { [__esModule], named, default: null } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [__esModule], named, default: null }, [Module] } [Module: null prototype] { [__esModule], default: { [__esModule], named, default: null }, [Module] } null null 'named' 'named' 'named' true true { [__esModule], named, default: null } true false
named-and-null-default-export-non-enumerable { [named], [default]: null } { [named], [default]: null } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [named], [default]: null }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default]: null }, [Module] } null null 'named' 'named' 'named' undefined undefined { [named], [default]: null } false false
named-export

named-export-runtime

single-object-export
{ named } { named } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { named }, [Module] } [Module: null prototype] { [__esModule], default: { named }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { named } false false
named-export-esModule

named-export-runtime-esModule
{ [__esModule], named } { [__esModule], named } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [__esModule], named }, [Module] } [Module: null prototype] { [__esModule], default: { [__esModule], named }, [Module] } undefined undefined 'named' 'named' 'named' true true { [__esModule], named } true false
named-export-non-enumerable { [named] } { [named] } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [named] }, [Module] } [Module: null prototype] { [__esModule], default: { [named] }, [Module] } undefined undefined 'named' 'named' 'named' undefined undefined { [named] } false false
order { b, a, c } { b, a, c } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { b, a, c }, [Module] } [Module: null prototype] { [__esModule], default: { b, a, c }, [Module] } undefined undefined undefined undefined undefined undefined undefined { b, a, c } false false
order-esModule { [__esModule], b, a, c } { [__esModule], b, a, c } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { [__esModule], b, a, c }, [Module] } [Module: null prototype] { [__esModule], default: { [__esModule], b, a, c }, [Module] } undefined undefined undefined undefined undefined true true { [__esModule], b, a, c } true false
order-esm undefined + errors undefined undefined + errors undefined undefined + errors true { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } undefined undefined undefined undefined undefined true true { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } true true
require-circular

require-circular-self

require-conditional-execution
{ default, named } { default, named } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: { default, named }, [Module] } [Module: null prototype] { [__esModule], default: { default, named }, [Module] } 'default' 'default' 'named' 'named' 'named' undefined undefined { default, named } false false
single-empty-string-export '' '' undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: '', [Module] } [Module: null prototype] { [__esModule], default: '', [Module] } undefined undefined undefined undefined undefined undefined undefined '' false false
single-null-export null null undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: null, [Module] } [Module: null prototype] { [__esModule], default: null, [Module] } type error undefined type error type error undefined type error undefined null false false
single-promise-object-export Promise { { named } } Promise { { named } } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: Promise { { named } }, [Module] } [Module: null prototype] { [__esModule], default: Promise { { named } }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { named } } false false
single-promise-object-with-default-export Promise { { named, default } } Promise { { named, default } } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: Promise { { named, default } }, [Module] } [Module: null prototype] { [__esModule], default: Promise { { named, default } }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { { named, default } } false false
single-promise-string-export Promise { 'single' } Promise { 'single' } undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: Promise { 'single' }, [Module] } [Module: null prototype] { [__esModule], default: Promise { 'single' }, [Module] } undefined undefined undefined undefined undefined undefined undefined Promise { 'single' } false false
single-string-export

single-string-export-defined

single-string-export-duplicate

single-string-export-getter

single-string-export-reexport
'single' 'single' undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: 'single', [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] } undefined undefined undefined undefined undefined undefined undefined 'single' false false
single-string-export-esm-reexport undefined undefined undefined undefined undefined true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } undefined undefined undefined undefined undefined true true { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } true true
single-string-export-live 'single-outdated' 'single-outdated' undefined + errors undefined undefined + errors true [Module: null prototype] { [__esModule], default: 'single-outdated', [Module] } [Module: null prototype] { [__esModule], default: 'single-outdated', [Module] } undefined undefined undefined undefined undefined undefined undefined 'single-outdated' false false
tla-esModule

tla-esModule-esm-reexport

tla-esm

tla-esm-esm-reexport
compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error compilation error

Results by test case

default-export

default-export babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ…
import * as x; ident(x).default { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… 'default' ๐Ÿ’Ž { default } โœ…
import { named as x } undefined undefined syntax error ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named

{ named } = require()

x = require(); x.named

x = require(); ident(x).named

{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { default: { default } } { default: { default } } [Module: null prototype] { default: { default }, [Module] } [Object: null prototype] { default: { default } } ๐ŸŸก [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } { default } ๐ŸŸก [Module: null prototype] { [__esModule], default: { default }, [Module] } ๐ŸŸก
import() { default: { default } } { default: { default } } [Module: null prototype] { default: { default }, [Module] } [Object: null prototype] { default: { default } } ๐ŸŸก [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: { default }, [Module] } [Module: null prototype] { [__esModule], default: { default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

default-export-esModule

default-export-esModule babel

babel-js

webpack4
esbuild node

node-lts
rollup webpack webpack-js webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' { [__esModule], default } { [__esModule], default } 'default' { [__esModule], default } 'default' { [__esModule], default }
import { named as x } undefined undefined syntax error ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named

{ named } = require()

x = require(); x.named

x = require(); ident(x).named
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { __esModule as x }

import * as x; x.__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… true โœ…
import * as x

import()
{ [__esModule], default } { default: { [__esModule], default }, [__esModule]: [G: true] } ๐Ÿ’Ž [Module: null prototype] { __esModule, default: { [__esModule], default }, [Module] } ๐ŸŸก [Object: null prototype] { default } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: [G] { [__esModule], default }, [Module] } ๐Ÿ’Ž { [__esModule], default } [Module: null prototype] { [__esModule], default: { [__esModule], default }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], default } โœ… { [__esModule], default } โœ… { [__esModule], default } โœ… { [__esModule], default } โœ… { [__esModule], default } โœ… { [__esModule], default } โœ… { [__esModule], default } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž true โœ… false ๐Ÿ’Ž

default-export-esModule-esm-reexport

default-export-esModule-esm-reexport babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4

webpack4-mjs
import x

import { default as x }
undefined undefined syntax error ๐Ÿ’Ž compilation error ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined
import * as x; x.default undefined โœ… undefined โœ… undefined โœ… undefined + warnings ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined โœ…
import * as x; ident(x).default

import * as x; ident(x).named
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { named as x } undefined โœ… undefined โœ… syntax error ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined โœ…
import * as x; x.named undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined โœ…
import { __esModule as x }

import * as x; x.__esModule

import * as x; x === await import()
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… true โœ…
import * as x { [__esModule] } ๐ŸŸก { [__esModule]: [G: true] } ๐Ÿ’Ž [Module: null prototype] { __esModule, [Module] } ๐ŸŸก [Object: null prototype] {} ๐Ÿ’Ž { [__esModule], [Module] } { [__esModule], [Module] } { [__esModule], [Module] }
import() { [__esModule] } ๐ŸŸก { [__esModule]: [G: true] } ๐Ÿ’Ž [Module: null prototype] { __esModule, [Module] } ๐ŸŸก {} ๐Ÿ’Ž { [__esModule], [Module] } { [__esModule], [Module] } { [__esModule], [Module] }
x = require(); x.default

x = require(); ident(x).default

{ named } = require()

x = require(); x.named

x = require(); ident(x).named
undefined โœ… undefined โœ… require(esm) not allowed ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… require(esm) not allowed ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule] } { [__esModule] } require(esm) not allowed ๐ŸŸก { [__esModule] } { [__esModule], [Module] } { [__esModule], [Module] } { [__esModule], [Module] }
await import() === require() true โœ… false ๐Ÿ’Ž require(esm) not allowed ๐Ÿ’Ž false ๐Ÿ’Ž true โœ… true โœ… true โœ…

default-export-esm

default-export-esm babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
import { named as x } undefined compilation error syntax error compilation error undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; x.named undefined undefined undefined undefined + warnings ๐ŸŸก undefined + errors ๐Ÿ’Ž undefined + warnings ๐ŸŸก undefined + warnings ๐ŸŸก undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { __esModule as x } true compilation error syntax error compilation error true + errors true + warnings undefined + warnings undefined + errors
import * as x; x.__esModule true undefined undefined undefined + warnings true + errors ๐ŸŸก true + warnings ๐ŸŸก undefined + warnings undefined + errors ๐ŸŸก
import * as x; ident(x).__esModule true โœ… undefined ๐ŸŸก undefined ๐ŸŸก undefined ๐ŸŸก true โœ… true โœ… true โœ… true โœ…
import * as x { [__esModule], default } ๐ŸŸก { default: [G] } ๐Ÿ’Ž [Module: null prototype] { default, [Module] } ๐ŸŸก [Object: null prototype] { default } ๐Ÿ’Ž { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] }
import() { [__esModule], default } { default: [G] } [Module: null prototype] { default, [Module] } { default } { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } { [__esModule], default, [Module] } { [__esModule], default, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… require(esm) not allowed ๐Ÿ’Ž 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
undefined โœ… undefined โœ… require(esm) not allowed ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… require(esm) not allowed ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], default } { [__esModule], default: [G] } require(esm) not allowed { [__esModule], default: [G] } { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } { [__esModule], default, [Module] } { [__esModule], default, [Module] }
await import() === require() true โœ… false ๐Ÿ’Ž require(esm) not allowed ๐Ÿ’Ž false ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ…
import * as x; x === await import() true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…

default-export-runtime

default-export-runtime babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ…
import * as x; ident(x).default { default } โœ… { default } โœ… { default } โœ… { default } โœ… { default } โœ… 'default' ๐Ÿ’Ž 'default' ๐Ÿ’Ž { default } โœ…
import { named as x } undefined โœ… undefined โœ… syntax error ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named

{ named } = require()

x = require(); x.named

x = require(); ident(x).named

{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true ๐Ÿ’Ž true ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž undefined โœ… undefined โœ… true ๐Ÿ’Ž
import * as x { default: { default } } { default: { default } } [Module: null prototype] { default: { default }, [Module] } [Object: null prototype] { default: { default } } ๐ŸŸก [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } ๐ŸŸก { default } { default } [Module: null prototype] { [__esModule], default: { default }, [Module] } ๐ŸŸก
import() { default: { default } } { default: { default } } [Module: null prototype] { default: { default }, [Module] } [Object: null prototype] { default: { default } } ๐ŸŸก [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } [Module: null prototype] { [__esModule], default: { default }, [Module] } [Module: null prototype] { [__esModule], default: { default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export

named-and-default-export babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ…
import * as x; ident(x).default { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… 'default' ๐Ÿ’Ž { named, default } โœ…
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named, [Module] } [Object: null prototype] { default: { named, default }, named } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } { named, default } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
import() { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named, [Module] } [Object: null prototype] { default: { named, default }, named } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-babel-getter

named-and-default-export-babel-getter babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] } 'default' { [__esModule], named: [G], default: [G] } { [__esModule], named: [G], default: [G] }
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x }

import * as x; x.__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named: [G], default: [G] } { default: { [__esModule], named: [G], default: [G] }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, default: { [__esModule], named: [G], default: [G] }, named, [Module] } ๐ŸŸก [Object: null prototype] { default, named: [G] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named: [G], default: [G] }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named: [G], default: [G] }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named: [G], default: [G] } โœ… { [__esModule], named: [G], default: [G] } โœ… { [__esModule], named: [G], default: [G] } โœ… { [__esModule], named: [G], default: [G] } โœ… { [__esModule], named: [G], default: [G] } โœ… { [__esModule], named: [G], default: [G] } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-and-default-export-duplicate

named-and-default-export-duplicate babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ…
import * as x; ident(x).default { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… 'default' ๐Ÿ’Ž { named, default } โœ…
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named, [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } { named, default } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
import() { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named, [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-esModule

named-and-default-export-esModule babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' { [__esModule], named, default } { [__esModule], named, default } 'default' { [__esModule], named, default } { [__esModule], named, default }
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x }

import * as x; x.__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named, default } { default: { [__esModule], named, default }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, default: { [__esModule], named, default }, named, [Module] } ๐ŸŸก [Object: null prototype] { default, named } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named, default }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-and-default-export-esModule-duplicate

named-and-default-export-esModule-duplicate babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' { [__esModule], named, default } { [__esModule], named, default } 'default' { [__esModule], named, default } { [__esModule], named, default }
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x }

import * as x; x.__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named, default } { default: { [__esModule], named, default }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, default: { [__esModule], named, default }, named, [Module] } ๐ŸŸก [Object: null prototype] { default: [G], named: [G] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named, default }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-and-default-export-esModule-esm-reexport

named-and-default-export-esModule-esm-reexport babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4

webpack4-mjs
import x

import { default as x }
undefined undefined syntax error ๐Ÿ’Ž compilation error ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined
import * as x; x.default undefined โœ… undefined โœ… undefined โœ… undefined + warnings ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined โœ…
import * as x; ident(x).default undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { named as x }

import * as x; x.named

import * as x; ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
import { __esModule as x }

import * as x; x.__esModule

import * as x; x === await import()
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… true โœ…
import * as x { [__esModule], named: [G] } ๐ŸŸก { [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, named, [Module] } ๐ŸŸก [Object: null prototype] { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
import() { [__esModule], named: [G] } ๐ŸŸก { [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, named, [Module] } ๐ŸŸก { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
x = require(); x.default

x = require(); ident(x).default
undefined โœ… undefined โœ… require(esm) not allowed ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… require(esm) not allowed ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… require(esm) not allowed ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named: [G] } { [__esModule], named: [G] } require(esm) not allowed ๐ŸŸก { [__esModule], named: [G] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
await import() === require() true โœ… false ๐Ÿ’Ž require(esm) not allowed ๐Ÿ’Ž false ๐Ÿ’Ž true โœ… true โœ… true โœ…

named-and-default-export-esModule-reexport

named-and-default-export-esModule-reexport babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' { [__esModule], named, default } { [__esModule], named, default } 'default' { [__esModule], named, default } { [__esModule], named, default }
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x }

import * as x; x.__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named, default } { default: { [__esModule], named, default }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, default: { [__esModule], named, default }, named, [Module] } ๐ŸŸก [Object: null prototype] { default, named: [G] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named, default }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-and-default-export-esm

named-and-default-export-esm babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
import { named as x }

import * as x; x.named

import * as x; ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
import { __esModule as x } true compilation error syntax error compilation error true + errors true + warnings undefined + warnings undefined + errors
import * as x; x.__esModule true undefined undefined undefined + warnings true + errors ๐ŸŸก true + warnings ๐ŸŸก undefined + warnings undefined + errors ๐ŸŸก
import * as x; ident(x).__esModule true โœ… undefined ๐ŸŸก undefined ๐ŸŸก undefined ๐ŸŸก true โœ… true โœ… true โœ… true โœ…
import * as x { [__esModule], default, named } { default: [G], named: [G] } [Module: null prototype] { default, named, [Module] } [Object: null prototype] { default, named } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], named: [G], default: [G], [Module] } { [__esModule], named: [G], default: [G], [Module] }
import() { [__esModule], default, named } { default: [G], named: [G] } [Module: null prototype] { default, named, [Module] } { default, named } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], named: [G], default, [Module] } { [__esModule], named: [G], default, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… require(esm) not allowed ๐Ÿ’Ž 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… require(esm) not allowed ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… require(esm) not allowed ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], default, named } { [__esModule], default: [G], named: [G] } require(esm) not allowed { [__esModule], default: [G], named: [G] } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], named: [G], default, [Module] } { [__esModule], named: [G], default, [Module] }
await import() === require() true โœ… false ๐Ÿ’Ž require(esm) not allowed ๐Ÿ’Ž false ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ…
import * as x; x === await import() true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…

named-and-default-export-esm-esm-reexport

named-and-default-export-esm-esm-reexport babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }
runtime error compilation error syntax error compilation error undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; x.default runtime error undefined undefined undefined + warnings undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; ident(x).default runtime error ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { named as x }

import * as x; x.named

import * as x; ident(x).named
runtime error ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
import { __esModule as x } runtime error compilation error syntax error compilation error true + errors true + warnings undefined + warnings undefined + errors
import * as x; x.__esModule runtime error undefined undefined undefined + warnings true + errors ๐ŸŸก true + warnings ๐ŸŸก undefined + warnings undefined + errors ๐ŸŸก
import * as x; ident(x).__esModule runtime error ๐ŸŸก undefined undefined undefined true true true true
import * as x runtime error ๐ŸŸก { named: [G] } ๐Ÿ’Ž [Module: null prototype] { named, [Module] } ๐ŸŸก [Object: null prototype] { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
import() runtime error ๐ŸŸก { named: [G] } ๐Ÿ’Ž [Module: null prototype] { named, [Module] } ๐ŸŸก { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
x = require(); x.default

x = require(); ident(x).default
runtime error ๐Ÿ’Ž undefined โœ… require(esm) not allowed ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
runtime error ๐Ÿ’Ž 'named' โœ… require(esm) not allowed ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
runtime error ๐Ÿ’Ž true โœ… require(esm) not allowed ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() runtime error ๐ŸŸก { [__esModule], named: [G] } ๐ŸŸก require(esm) not allowed ๐ŸŸก { [__esModule], named: [G] } ๐ŸŸก { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
await import() === require() runtime error ๐ŸŸก false ๐ŸŸก require(esm) not allowed ๐ŸŸก false ๐ŸŸก true true true true
import * as x; x === await import() runtime error ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…

named-and-default-export-esm-reexport

named-and-default-export-esm-reexport babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4

webpack4-mjs
import x

import { default as x }
undefined undefined syntax error ๐Ÿ’Ž compilation error ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined
import * as x; x.default undefined โœ… undefined โœ… undefined โœ… undefined + warnings ๐Ÿ’Ž undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined โœ…
import * as x; ident(x).default undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { named as x }

import * as x; x.named

import * as x; ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
import { __esModule as x } true ๐ŸŸก undefined syntax error ๐ŸŸก undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined
import * as x; x.__esModule true ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ…
import * as x; ident(x).__esModule true โœ… undefined ๐ŸŸก undefined ๐ŸŸก undefined ๐ŸŸก true โœ… true โœ… true โœ…
import * as x { [__esModule], named: [G] } ๐ŸŸก { named: [G] } ๐Ÿ’Ž [Module: null prototype] { named, [Module] } ๐ŸŸก [Object: null prototype] { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
import() { [__esModule], named: [G] } ๐ŸŸก { named: [G] } ๐Ÿ’Ž [Module: null prototype] { named, [Module] } ๐ŸŸก { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
x = require(); x.default

x = require(); ident(x).default
undefined โœ… undefined โœ… require(esm) not allowed ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… require(esm) not allowed ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… require(esm) not allowed ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named: [G] } { [__esModule], named: [G] } require(esm) not allowed ๐ŸŸก { [__esModule], named: [G] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
await import() === require() true โœ… false ๐Ÿ’Ž require(esm) not allowed ๐Ÿ’Ž false ๐Ÿ’Ž true โœ… true โœ… true โœ…
import * as x; x === await import() true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…

named-and-default-export-getter

named-and-default-export-getter babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ…
import * as x; ident(x).default { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… { [named]: [G], [default]: [G] } โœ… 'default' ๐Ÿ’Ž { [named]: [G], [default]: [G] } โœ…
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined 'named' undefined 'named' 'named' 'named' 'named' undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named undefined โœ… 'named' ๐ŸŸก undefined โœ… undefined โœ… 'named' ๐ŸŸก 'named' ๐ŸŸก 'named' ๐ŸŸก undefined โœ…
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { default: { [named]: [G], [default]: [G] } } { default: { [named]: [G], [default]: [G] }, [named]: [G] } [Module: null prototype] { default: { [named]: [G], [default]: [G] }, [Module] } [Object: null prototype] { default: { [named]: [G], [default]: [G] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } { [named]: [G], [default]: [G] } [Module: null prototype] { [__esModule], default: { [named]: [G], [default]: [G] }, [Module] }
import() { default: { [named]: [G], [default]: [G] } } { default: { [named]: [G], [default]: [G] }, [named]: [G] } [Module: null prototype] { default: { [named]: [G], [default]: [G] }, [Module] } [Object: null prototype] { default: { [named]: [G], [default]: [G] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], default: { [named]: [G], [default]: [G] }, [Module] } [Module: null prototype] { [__esModule], default: { [named]: [G], [default]: [G] }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-getter-esModule

named-and-default-export-getter-esModule babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] } 'default' { [__esModule]: [G: true], [named]: [G], [default]: [G] } { [__esModule]: [G: true], [named]: [G], [default]: [G] }
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… undefined ๐ŸŸก undefined ๐ŸŸก 'named' โœ… undefined ๐ŸŸก
import { __esModule as x } true โœ… true โœ… syntax error ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… undefined ๐Ÿ’Ž undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule]: [G: true], [named]: [G], [default]: [G] } { default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [__esModule]: [G: true], [named]: [G] } ๐Ÿ’Ž [Module: null prototype] { default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } ๐ŸŸก [Object: null prototype] { default } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule]: [G: true], [named]: [G], [default]: [G] }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule]: [G: true], [named]: [G], [default]: [G] } โœ… { [__esModule]: [G: true], [named]: [G], [default]: [G] } โœ… { [__esModule]: [G: true], [named]: [G], [default]: [G] } โœ… { [__esModule]: [G: true], [named]: [G], [default]: [G] } โœ… { [__esModule]: [G: true], [named]: [G], [default]: [G] } โœ… { [__esModule]: [G: true], [named]: [G], [default]: [G] } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-and-default-export-inherited

named-and-default-export-inherited babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ…
import * as x; ident(x).default { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… 'default' ๐Ÿ’Ž 'default' ๐Ÿ’Ž { named, default } โœ…
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined 'named' undefined 'named' 'named' 'named' 'named' undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named undefined โœ… 'named' ๐ŸŸก undefined โœ… undefined โœ… 'named' ๐ŸŸก 'named' ๐ŸŸก 'named' ๐ŸŸก undefined โœ…
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true ๐Ÿ’Ž true ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž undefined โœ… undefined โœ… true ๐Ÿ’Ž
import * as x { default: { named, default } } { default: { named, default }, named } [Module: null prototype] { default: { named, default }, [Module] } [Object: null prototype] { default: { named, default } } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } { named, default } { named, default } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
import() { default: { named, default } } { default: { named, default }, named } [Module: null prototype] { default: { named, default }, [Module] } [Object: null prototype] { default: { named, default } } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-live

named-and-default-export-live babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ…
import * as x; ident(x).default { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… 'default' ๐Ÿ’Ž { named, default } โœ…
import { named as x } 'named' โœ… 'named' โœ… 'named-outdated' ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named-outdated' 'named' 'named-outdated' 'named' 'named' 'named' 'named' undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named-outdated' 'named' 'named-outdated' 'named' 'named' 'named' 'named' undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { named: 'named-outdated', default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named: 'named-outdated', [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } { named, default } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
import() { named: 'named-outdated', default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named: 'named-outdated', [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require() 'named-outdated' โœ… 'named-outdated' โœ… 'named-outdated' โœ… 'named-outdated' โœ… 'named-outdated' โœ… 'named-outdated' โœ… 'named-outdated' โœ… 'named-outdated' โœ…
x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-non-enumerable

named-and-default-export-non-enumerable babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ…
import * as x; ident(x).default { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… 'default' ๐Ÿ’Ž { [named], [default] } โœ…
import { named as x } 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named undefined ๐ŸŸก 'named' โœ… 'named' โœ… undefined ๐ŸŸก 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐ŸŸก
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { default: { [named], [default] } } { default: { [named], [default] }, [named]: [G] } [Module: null prototype] { default: { [named], [default] }, named, [Module] } [Object: null prototype] { default: { [named], [default] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } { [named], [default] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] }
import() { default: { [named], [default] } } { default: { [named], [default] }, [named]: [G] } [Module: null prototype] { default: { [named], [default] }, named, [Module] } [Object: null prototype] { default: { [named], [default] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-non-enumerable-inherited

named-and-default-export-non-enumerable-inherited babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ…
import * as x; ident(x).default { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… { [named], [default] } โœ… 'default' ๐Ÿ’Ž 'default' ๐Ÿ’Ž { [named], [default] } โœ…
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined 'named' undefined 'named' 'named' 'named' 'named' undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named undefined โœ… 'named' ๐ŸŸก undefined โœ… undefined โœ… 'named' ๐ŸŸก 'named' ๐ŸŸก 'named' ๐ŸŸก undefined โœ…
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true ๐Ÿ’Ž true ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž undefined โœ… undefined โœ… true ๐Ÿ’Ž
import * as x { default: { [named], [default] } } { default: { [named], [default] }, [named] } [Module: null prototype] { default: { [named], [default] }, [Module] } [Object: null prototype] { default: { [named], [default] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } { [named], [default] } { [named], [default] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] }
import() { default: { [named], [default] } } { default: { [named], [default] }, [named] } [Module: null prototype] { default: { [named], [default] }, [Module] } [Object: null prototype] { default: { [named], [default] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default] }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-reexport

named-and-default-export-reexport babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ…
import * as x; ident(x).default { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… 'default' ๐Ÿ’Ž { named, default } โœ…
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named, [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } { named, default } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
import() { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, named, [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-runtime

named-and-default-export-runtime babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ…
import * as x; ident(x).default { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… { named, default } โœ… 'default' ๐Ÿ’Ž 'default' ๐Ÿ’Ž { named, default } โœ…
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true ๐Ÿ’Ž true ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž undefined โœ… undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } { named, default } { named, default } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
import() { named, default: { named, default } } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, [Module] } [Object: null prototype] { default: { named, default }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default }, [Module] } [Module: null prototype] { [__esModule], default: { named, default }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default }, [Module] }
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-default-export-runtime-esModule

named-and-default-export-runtime-esModule babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
'default' { [__esModule], named, default } { [__esModule], named, default } 'default' { [__esModule], named, default } { [__esModule], named, default }
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } true โœ… true โœ… syntax error ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… undefined ๐Ÿ’Ž undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named, default } { default: { [__esModule], named, default }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { default: { [__esModule], named, default }, [Module] } ๐ŸŸก [Object: null prototype] { default, named: [G] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named, default }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ… 'default' โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ… { [__esModule], named, default } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-and-null-default-export

named-and-null-default-export babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ…
import * as x; ident(x).default { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… null ๐Ÿ’Ž { named, default: null } โœ…
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named, default: null } } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, named, [Module] } [Object: null prototype] { default: { named, default: null }, named } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } { named, default: null } [Module: null prototype] { [__esModule], default: { named, default: null }, [Module] }
import() { named, default: { named, default: null } } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, named, [Module] } [Object: null prototype] { default: { named, default: null }, named } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], default: { named, default: null }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default: null }, [Module] }
x = require(); x.default

x = require(); ident(x).default
null โœ… null โœ… null โœ… null โœ… null โœ… null โœ… null โœ… null โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-null-default-export-esModule

named-and-null-default-export-esModule babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
null { [__esModule], named, default: null } { [__esModule], named, default: null } null { [__esModule], named, default: null } { [__esModule], named, default: null }
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x }

import * as x; x.__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named, default: null } { default: { [__esModule], named, default: null }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, default: { [__esModule], named, default: null }, named, [Module] } ๐ŸŸก [Object: null prototype] { default: null, named } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default: null }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named, default: null }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
null โœ… null โœ… null โœ… null โœ… null โœ… null โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-and-null-default-export-non-enumerable

named-and-null-default-export-non-enumerable babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ…
import * as x; ident(x).default { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… { [named], [default]: null } โœ… null ๐Ÿ’Ž { [named], [default]: null } โœ…
import { named as x } 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named undefined ๐ŸŸก 'named' โœ… 'named' โœ… undefined ๐ŸŸก 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐ŸŸก
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { default: { [named], [default]: null } } { default: { [named], [default]: null }, [named]: [G] } [Module: null prototype] { default: { [named], [default]: null }, named, [Module] } [Object: null prototype] { default: { [named], [default]: null } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } { [named], [default]: null } [Module: null prototype] { [__esModule], default: { [named], [default]: null }, [Module] }
import() { default: { [named], [default]: null } } { default: { [named], [default]: null }, [named]: [G] } [Module: null prototype] { default: { [named], [default]: null }, named, [Module] } [Object: null prototype] { default: { [named], [default]: null } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named], [default]: null }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default]: null }, [Module] } [Module: null prototype] { [__esModule], default: { [named], [default]: null }, [Module] }
x = require(); x.default

x = require(); ident(x).default
null โœ… null โœ… null โœ… null โœ… null โœ… null โœ… null โœ… null โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-null-default-export-runtime

named-and-null-default-export-runtime babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ…
import * as x; ident(x).default { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… { named, default: null } โœ… null ๐Ÿ’Ž null ๐Ÿ’Ž { named, default: null } โœ…
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true ๐Ÿ’Ž true ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž undefined โœ… undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named, default: null } } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, [Module] } [Object: null prototype] { default: { named, default: null }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } { named, default: null } { named, default: null } [Module: null prototype] { [__esModule], default: { named, default: null }, [Module] }
import() { named, default: { named, default: null } } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, [Module] } [Object: null prototype] { default: { named, default: null }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named, default: null }, [Module] } [Module: null prototype] { [__esModule], default: { named, default: null }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named, default: null }, [Module] }
x = require(); x.default

x = require(); ident(x).default
null โœ… null โœ… null โœ… null โœ… null โœ… null โœ… null โœ… null โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-and-null-default-export-runtime-esModule

named-and-null-default-export-runtime-esModule babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
null { [__esModule], named, default: null } { [__esModule], named, default: null } null { [__esModule], named, default: null } { [__esModule], named, default: null }
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } true โœ… true โœ… syntax error ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… undefined ๐Ÿ’Ž undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named, default: null } { default: { [__esModule], named, default: null }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { default: { [__esModule], named, default: null }, [Module] } ๐ŸŸก [Object: null prototype] { default: null, named: [G] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named, default: null }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named, default: null }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
null โœ… null โœ… null โœ… null โœ… null โœ… null โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ… { [__esModule], named, default: null } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

named-export

named-export babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ…
import * as x; ident(x).default { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… undefined ๐Ÿ’Ž { named } โœ…
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named } } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, named, [Module] } [Object: null prototype] { default: { named }, named } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } { named } [Module: null prototype] { [__esModule], default: { named }, [Module] }
import() { named, default: { named } } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, named, [Module] } [Object: null prototype] { default: { named }, named } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], default: { named }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named }, [Module] }
x = require(); x.default

x = require(); ident(x).default

{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-export-esModule

named-export-esModule babel

babel-js

webpack4
esbuild node

node-lts
rollup webpack webpack-js webpack4-mjs
import x

import { default as x }

import * as x; x.default
undefined ๐Ÿ’Ž { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… undefined + warnings ๐Ÿ’Ž { [__esModule], named } โœ…
import * as x; ident(x).default undefined ๐ŸŸก { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… undefined ๐ŸŸก { [__esModule], named } โœ…
import { named as x }

import * as x; x.named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x }

import * as x; x.__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… true โœ…
import * as x

import()
{ [__esModule], named } { default: { [__esModule], named }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { __esModule, default: { [__esModule], named }, named, [Module] } ๐ŸŸก [Object: null prototype] { default: { [__esModule], named }, named } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named }, [Module] } ๐Ÿ’Ž { [__esModule], named } [Module: null prototype] { [__esModule], default: { [__esModule], named }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž true โœ… false ๐Ÿ’Ž

named-export-esm

named-export-esm babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }
undefined compilation error syntax error compilation error undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; x.default undefined undefined undefined undefined + warnings ๐ŸŸก undefined + errors ๐Ÿ’Ž undefined + warnings ๐ŸŸก undefined + warnings ๐ŸŸก undefined + errors ๐Ÿ’Ž
import * as x; ident(x).default undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { named as x }

import * as x; x.named

import * as x; ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
import { __esModule as x } true compilation error syntax error compilation error true + errors true + warnings undefined + warnings undefined + errors
import * as x; x.__esModule true undefined undefined undefined + warnings true + errors ๐ŸŸก true + warnings ๐ŸŸก undefined + warnings undefined + errors ๐ŸŸก
import * as x; ident(x).__esModule true โœ… undefined ๐ŸŸก undefined ๐ŸŸก undefined ๐ŸŸก true โœ… true โœ… true โœ… true โœ…
import * as x { [__esModule], named } ๐ŸŸก { named: [G] } ๐Ÿ’Ž [Module: null prototype] { named, [Module] } ๐ŸŸก [Object: null prototype] { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
import() { [__esModule], named } ๐ŸŸก { named: [G] } ๐Ÿ’Ž [Module: null prototype] { named, [Module] } ๐ŸŸก { named } ๐Ÿ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
x = require(); x.default

x = require(); ident(x).default
undefined โœ… undefined โœ… require(esm) not allowed ๐Ÿ’Ž undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… require(esm) not allowed ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… require(esm) not allowed ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named } ๐ŸŸก { [__esModule], named: [G] } ๐ŸŸก require(esm) not allowed ๐ŸŸก { [__esModule], named: [G] } ๐ŸŸก { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
await import() === require() true โœ… false ๐Ÿ’Ž require(esm) not allowed ๐Ÿ’Ž false ๐Ÿ’Ž true โœ… true โœ… true โœ… true โœ…
import * as x; x === await import() true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…

named-export-non-enumerable

named-export-non-enumerable babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ…
import * as x; ident(x).default { [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ… { [named] } โœ… undefined ๐Ÿ’Ž { [named] } โœ…
import { named as x } 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named undefined ๐ŸŸก 'named' โœ… 'named' โœ… undefined ๐ŸŸก 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐ŸŸก
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { default: { [named] } } { default: { [named] }, [named]: [G] } [Module: null prototype] { default: { [named] }, named, [Module] } [Object: null prototype] { default: { [named] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } { [named] } [Module: null prototype] { [__esModule], default: { [named] }, [Module] }
import() { default: { [named] } } { default: { [named] }, [named]: [G] } [Module: null prototype] { default: { [named] }, named, [Module] } [Object: null prototype] { default: { [named] } } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { [named] }, [Module] } [Module: null prototype] { [__esModule], default: { [named] }, [Module] } [Module: null prototype] { [__esModule], default: { [named] }, [Module] }
x = require(); x.default

x = require(); ident(x).default

{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-export-runtime

named-export-runtime babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ…
import * as x; ident(x).default { named } โœ… { named } โœ… { named } โœ… { named } โœ… { named } โœ… undefined ๐Ÿ’Ž undefined ๐Ÿ’Ž { named } โœ…
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true ๐Ÿ’Ž true ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž undefined โœ… undefined โœ… true ๐Ÿ’Ž
import * as x { named, default: { named } } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, [Module] } [Object: null prototype] { default: { named }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } { named } { named } [Module: null prototype] { [__esModule], default: { named }, [Module] }
import() { named, default: { named } } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, [Module] } [Object: null prototype] { default: { named }, named: [G] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], named: [G], default: [G] { named }, [Module] } [Module: null prototype] { [__esModule], default: { named }, named: [G], [Module] } [Module: null prototype] { [__esModule], default: { named }, [Module] }
x = require(); x.default

x = require(); ident(x).default

{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

named-export-runtime-esModule

named-export-runtime-esModule babel

babel-js

webpack-js

webpack4
esbuild node

node-lts
rollup webpack webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
undefined ๐ŸŸก { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ…
import { named as x } 'named' โœ… 'named' โœ… syntax error ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž 'named' โœ… 'named' โœ… undefined ๐Ÿ’Ž
import { __esModule as x } true โœ… true โœ… syntax error ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule true โœ… true โœ… undefined ๐Ÿ’Ž true โœ… true โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule true โœ… true โœ… undefined ๐Ÿ’Ž undefined ๐Ÿ’Ž true โœ… true โœ…
import * as x

import()
{ [__esModule], named } { default: { [__esModule], named }, [__esModule]: [G: true], named: [G] } ๐Ÿ’Ž [Module: null prototype] { default: { [__esModule], named }, [Module] } ๐ŸŸก [Object: null prototype] { default: { [__esModule], named }, named: [G] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], named: [G], default: [G] { [__esModule], named }, [Module] } ๐Ÿ’Ž [Module: null prototype] { [__esModule], default: { [__esModule], named }, [Module] } ๐Ÿ’Ž
x = require(); x.default

x = require(); ident(x).default
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ… 'named' โœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true โœ… true โœ… true โœ… true โœ… true โœ… true โœ…
x = require() { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ… { [__esModule], named } โœ…
await import() === require() true โœ… false ๐ŸŸก false ๐ŸŸก false ๐ŸŸก true โœ… true โœ…
import * as x; x === await import() true โœ… false ๐Ÿ’Ž true โœ… true โœ… false ๐Ÿ’Ž false ๐Ÿ’Ž

order

order babel

babel-js
esbuild node

node-lts
rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

x = require()
{ b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ…
import * as x; ident(x).default { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… { b, a, c } โœ… undefined ๐Ÿ’Ž { b, a, c } โœ…
import { named as x } undefined undefined syntax error ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.named undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined + errors ๐Ÿ’Ž undefined + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).named

x = require(); x.default

x = require(); ident(x).default

{ named } = require()

x = require(); x.named

x = require(); ident(x).named

{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ… undefined โœ…
import { __esModule as x } undefined undefined syntax error ๐Ÿ’Ž undefined true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž
import * as x; x.__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true + errors ๐Ÿ’Ž true + warnings ๐Ÿ’Ž undefined โœ… undefined + errors ๐Ÿ’Ž
import * as x; ident(x).__esModule undefined โœ… undefined โœ… undefined โœ… undefined โœ… true ๐Ÿ’Ž true ๐Ÿ’Ž undefined โœ… true ๐Ÿ’Ž
import * as x { b, a, c, default: { b, a, c } } { default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } [Module: null prototype] { a, b, c, default: { b, a, c }, [Module] } [Object: null prototype] { a, b, c, default: { b, a, c } } [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } { b, a, c } [Module: null prototype] { [__esModule], default: { b, a, c }, [Module] }
import() { b, a, c, default: { b, a, c } } { default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } [Module: null prototype] { a, b, c, default: { b, a, c }, [Module] } [Object: null prototype] { a, b, c, default: { b, a, c } } [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { b, a, c }, [Module] } [Module: null prototype] { [__esModule], default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } [Module: null prototype] { [__esModule], default: { b, a, c }, [Module] }
await import() === require() false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ… false โœ…
import * as x; x === await import() true false true true false false false false

order-esModule

<
order-esModule babel

babel-js

webpack4
esbuild node

node-lts
rollup webpack webpack-js webpack4-mjs
import x

import { default as x }

import * as x; x.default
undefined ๐Ÿ’Ž { [__esModule], b, a, c } โœ… { [__esModule], b, a, c } โœ… { [__esModule], b, a, c } โœ… { [__esModule], b, a, c } โœ… undefined + warnings ๐Ÿ’Ž { [__esModule], b, a, c } โœ…
import * as x; ident(x).default undefined ๐ŸŸก { [__esModule], b, a, c } โœ… { [__esModule], b, a, c } โœ… { [__esModule], b, a, c } โœ… { [__esModule], b, a, c } โœ… undefined ๐ŸŸก { [__esModule], b, a, c } โœ…
import { named as x } undefined undefined syntax error ๐Ÿ’Ž undefined undefined + errors ๐Ÿ’Ž