ESM-CJS interop test
This project is maintained by sokra
For readablility some shortcuts are applied:
named
named: 'named'
[named]
[named]: 'named'
(non enumerable)default
default: 'default'
[default]
[default]: 'default'
(non enumerable)__esModule
__esModule: true
[__esModule]
[__esModule]: true
(non enumerable)[G]
[Getter]
[Module]
[Symbol(Symbol.toStringTag)]: 'Module'
import * as x
and import()
are excluded from these tables as they are too different.
.mjs
)When using .mjs
Webpack tries to be compatible to Node.js.
webpack-node | fixture | webpack | node |
---|---|---|---|
import x import { default as x } |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport tla-esm-esm-reexport |
undefined + errors |
syntax error |
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 await import() === require() import * as x; x === await import() |
tla-esModule tla-esModule-esm-reexport |
compilation error | syntax error |
import * as x; x.default |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport tla-esm-esm-reexport |
undefined + errors |
undefined |
import { named as x } |
default-export default-export-esModule default-export-esModule-esm-reexport default-export-esm order order-esModule order-esm |
undefined + errors |
syntax error |
import { named as x } |
default-export-runtime single-class-export single-empty-string-export single-function-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-esm-reexport single-string-export-getter single-string-export-live single-string-export-reexport |
undefined |
syntax error |
import { named as x } |
named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export |
'named' |
syntax error |
import { named as x } import * as x; x.named import * as x; ident(x).named |
named-and-default-export-live | 'named' |
'named-outdated' |
import { named as x } |
single-null-export | type error | syntax error |
import * as x; x.named |
default-export default-export-esModule default-export-esModule-esm-reexport default-export-esm order order-esModule order-esm |
undefined + errors |
undefined |
import * as x; x.named import * as x; ident(x).named |
named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export |
'named' |
undefined |
import * as x; x.named |
single-null-export | type error | undefined |
import { __esModule as x } |
default-export default-export-esm named-and-default-export named-and-default-export-duplicate named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-and-default-export-getter named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-reexport named-and-null-default-export named-and-null-default-export-non-enumerable named-export named-export-esm named-export-non-enumerable order order-esm require-circular require-circular-self require-conditional-execution tla-esm tla-esm-esm-reexport |
true + errors |
syntax error |
import { __esModule as x } |
default-export-runtime named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-class-export single-empty-string-export single-function-export single-null-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-esm-reexport single-string-export-getter single-string-export-live single-string-export-reexport |
true |
syntax error |
import * as x; x.__esModule |
default-export default-export-esm named-and-default-export named-and-default-export-duplicate named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-and-default-export-getter named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-reexport named-and-null-default-export named-and-null-default-export-non-enumerable named-export named-export-esm named-export-non-enumerable order order-esm require-circular require-circular-self require-conditional-execution tla-esm tla-esm-esm-reexport |
true + errors |
undefined |
import * as x; x.__esModule |
default-export-runtime named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-class-export single-empty-string-export single-function-export single-null-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-esm-reexport single-string-export-getter single-string-export-live single-string-export-reexport |
true |
undefined |
import * as x; ident(x).__esModule |
default-export default-export-esm default-export-runtime named-and-default-export named-and-default-export-duplicate named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-non-enumerable-inherited named-and-default-export-reexport named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export named-and-null-default-export-non-enumerable named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export named-export-esm named-export-non-enumerable named-export-runtime named-export-runtime-esModule order order-esm require-circular require-circular-self require-conditional-execution single-class-export single-empty-string-export single-function-export single-null-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-esm-reexport single-string-export-getter single-string-export-live single-string-export-reexport tla-esm tla-esm-esm-reexport |
true |
undefined |
x = require(); x.default x = require(); ident(x).default |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport tla-esm tla-esm-esm-reexport |
undefined |
require(esm) not allowed |
x = require(); x.default x = require(); ident(x).default |
default-export-esm named-and-default-export-esm |
'default' |
require(esm) not allowed |
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() |
tla-esModule | compilation error | syntax error |
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() |
tla-esModule-esm-reexport | compilation error | require(esm) not allowed |
{ named } = require() x = require(); x.named x = require(); ident(x).named |
default-export-esModule-esm-reexport default-export-esm order-esm single-string-export-esm-reexport tla-esm tla-esm-esm-reexport |
undefined |
require(esm) not allowed |
{ named } = require() x = require(); x.named x = require(); ident(x).named |
named-and-default-export-esModule-esm-reexport named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm |
'named' |
require(esm) not allowed |
{ __esModule } = require() x = require(); x.__esModule x = require(); ident(x).__esModule await import() === require() |
default-export-esModule-esm-reexport default-export-esm named-and-default-export-esModule-esm-reexport named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport |
true |
require(esm) not allowed |
{ __esModule } = require() x = require(); x.__esModule x = require(); ident(x).__esModule |
tla-esm tla-esm-esm-reexport |
undefined |
require(esm) not allowed |
x = require() |
default-export-esModule-esm-reexport | { [__esModule], [Module] } |
require(esm) not allowed |
x = require() |
default-export-esm | { [__esModule], default: [G], [Module] } |
require(esm) not allowed |
x = require() |
named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm |
{ [__esModule], named: [G], [Module] } |
require(esm) not allowed |
x = require() |
named-and-default-export-esm | { [__esModule], default: [G], named: [G], [Module] } |
require(esm) not allowed |
x = require() |
order-esm | { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } |
require(esm) not allowed |
x = require() |
single-string-export-esm-reexport | { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] } |
require(esm) not allowed |
x = require() |
tla-esm | Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
require(esm) not allowed |
x = require() |
tla-esm-esm-reexport | Promise { { [__esModule], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
require(esm) not allowed |
await import() === require() |
default-export-esModule named-and-default-export-babel-getter named-and-default-export-esModule named-and-default-export-esModule-duplicate named-and-default-export-esModule-reexport named-and-default-export-getter-esModule named-and-default-export-runtime-esModule named-and-null-default-export-esModule named-and-null-default-export-runtime-esModule named-export-esModule named-export-runtime-esModule order-esModule |
true |
false |
await import() === require() |
tla-esm tla-esm-esm-reexport |
false |
require(esm) not allowed |
import * as x; x === await import() |
default-export default-export-esModule default-export-runtime named-and-default-export named-and-default-export-babel-getter named-and-default-export-duplicate named-and-default-export-esModule named-and-default-export-esModule-duplicate named-and-default-export-esModule-reexport named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-non-enumerable-inherited named-and-default-export-reexport named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export named-and-null-default-export-esModule named-and-null-default-export-non-enumerable named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export named-export-esModule named-export-non-enumerable named-export-runtime named-export-runtime-esModule order order-esModule require-circular require-circular-self require-conditional-execution single-class-export single-empty-string-export single-function-export single-null-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-live single-string-export-reexport |
false |
true |
.mjs
)When using .mjs
Babel tries to be compatible to Node.js.
babel-node | fixture | babel | node |
---|---|---|---|
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
default-export-esModule | 'default' |
{ [__esModule], default } |
import x import { default as x } |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport |
undefined |
syntax error |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-babel-getter | 'default' |
{ [__esModule], named: [G], default: [G] } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-esModule named-and-default-export-esModule-duplicate named-and-default-export-esModule-reexport named-and-default-export-runtime-esModule |
'default' |
{ [__esModule], named, default } |
import x import { default as x } import { __esModule as x } |
named-and-default-export-esm-esm-reexport tla-esm-esm-reexport |
runtime error | syntax error |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-getter-esModule | 'default' |
{ [__esModule]: [G: true], [named]: [G], [default]: [G] } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-null-default-export-esModule named-and-null-default-export-runtime-esModule |
null |
{ [__esModule], named, default: null } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-export-esModule named-export-runtime-esModule |
undefined |
{ [__esModule], named } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
order-esModule | undefined |
{ [__esModule], b, a, c } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default x = require() |
single-function-export | <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [prototype]: { [constructor]: [Circular *1] } } |
<ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
tla-esm | syntax error | 'default' |
import * as x; x.default import * as x; ident(x).default import * as x; x.__esModule import * as x; ident(x).__esModule |
named-and-default-export-esm-esm-reexport tla-esm-esm-reexport |
runtime error | undefined |
import { named as x } |
default-export default-export-esModule default-export-esModule-esm-reexport default-export-esm default-export-runtime order order-esModule order-esm single-class-export single-empty-string-export single-function-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-esm-reexport single-string-export-getter single-string-export-live single-string-export-reexport |
undefined |
syntax error |
import { named as x } import * as x; x.named import * as x; ident(x).named |
named-and-default-export-esm-esm-reexport tla-esm-esm-reexport |
runtime error | 'named' |
import { named as x } |
named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export |
'named' |
syntax error |
import { named as x } |
named-and-default-export-live | 'named' |
'named-outdated' |
import { named as x } import { __esModule as x } |
single-null-export | type error | syntax error |
import { named as x } import * as x; x.named import * as x; ident(x).named |
tla-esm | syntax error | 'named' |
import * as x; x.named import * as x; ident(x).named |
named-and-default-export-getter-esModule named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export |
'named' |
undefined |
import * as x; x.named import * as x; ident(x).named |
named-and-default-export-non-enumerable named-and-null-default-export-non-enumerable named-export-non-enumerable |
undefined |
'named' |
import { __esModule as x } |
default-export default-export-runtime named-and-default-export named-and-default-export-duplicate named-and-default-export-getter named-and-default-export-inherited named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-non-enumerable-inherited named-and-default-export-reexport named-and-default-export-runtime named-and-null-default-export named-and-null-default-export-non-enumerable named-and-null-default-export-runtime named-export named-export-non-enumerable named-export-runtime order require-circular require-circular-self require-conditional-execution single-class-export single-empty-string-export single-function-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-live single-string-export-reexport |
undefined |
syntax error |
import { __esModule as x } |
default-export-esm named-and-default-export-esm named-and-default-export-esm-reexport named-and-default-export-getter-esModule named-and-default-export-runtime-esModule named-and-null-default-export-runtime-esModule named-export-esm named-export-runtime-esModule order-esm single-string-export-esm-reexport |
true |
syntax error |
import * as x; x.__esModule import * as x; ident(x).__esModule |
default-export-esm named-and-default-export-esm named-and-default-export-esm-reexport named-and-default-export-getter-esModule named-and-default-export-runtime-esModule named-and-null-default-export-runtime-esModule named-export-esm named-export-runtime-esModule order-esm single-string-export-esm-reexport |
true |
undefined |
import * as x; x.__esModule import * as x; ident(x).__esModule |
tla-esm | syntax error | undefined |
x = require(); x.default x = require(); ident(x).default |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport |
undefined |
require(esm) not allowed |
x = require(); x.default x = require(); ident(x).default |
default-export-esm named-and-default-export-esm |
'default' |
require(esm) not allowed |
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() |
named-and-default-export-esm-esm-reexport tla-esm-esm-reexport |
runtime error | require(esm) not allowed |
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() |
tla-esModule-esm-reexport tla-esm |
syntax error | require(esm) not allowed |
{ named } = require() x = require(); x.named x = require(); ident(x).named |
default-export-esModule-esm-reexport default-export-esm order-esm single-string-export-esm-reexport |
undefined |
require(esm) not allowed |
{ named } = require() x = require(); x.named x = require(); ident(x).named |
named-and-default-export-esModule-esm-reexport named-and-default-export-esm named-and-default-export-esm-reexport named-export-esm |
'named' |
require(esm) not allowed |
{ __esModule } = require() x = require(); x.__esModule x = require(); ident(x).__esModule await import() === require() |
default-export-esModule-esm-reexport default-export-esm named-and-default-export-esModule-esm-reexport named-and-default-export-esm named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport |
true |
require(esm) not allowed |
x = require() |
default-export-esModule-esm-reexport | { [__esModule] } |
require(esm) not allowed |
x = require() |
default-export-esm | { [__esModule], default } |
require(esm) not allowed |
x = require() |
named-and-default-export-esModule-esm-reexport named-and-default-export-esm-reexport |
{ [__esModule], named: [G] } |
require(esm) not allowed |
x = require() |
named-and-default-export-esm | { [__esModule], default, named } |
require(esm) not allowed |
x = require() |
named-export-esm | { [__esModule], named } |
require(esm) not allowed |
x = require() |
order-esm | { [__esModule], a, b, c } |
require(esm) not allowed |
x = require() |
single-string-export-esm-reexport | { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } |
require(esm) not allowed |
await import() === require() |
default-export-esModule named-and-default-export-babel-getter named-and-default-export-esModule named-and-default-export-esModule-duplicate named-and-default-export-esModule-reexport named-and-default-export-getter-esModule named-and-default-export-runtime-esModule named-and-null-default-export-esModule named-and-null-default-export-runtime-esModule named-export-esModule named-export-runtime-esModule order-esModule |
true |
false |
await import() === require() |
tla-esm | syntax error | require(esm) not allowed |
import * as x; x === await import() |
named-and-default-export-esm-esm-reexport tla-esm-esm-reexport |
runtime error | true |
import * as x; x === await import() |
single-empty-string-export single-null-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-live single-string-export-reexport |
false |
true |
import * as x; x === await import() |
tla-esm | syntax error | true |
parcel-node | fixture | parcel | node |
---|---|---|---|
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
default-export-esModule | 'default' |
{ [__esModule], default } |
import x import { default as x } |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport tla-esModule tla-esModule-esm-reexport tla-esm-esm-reexport |
compilation error | syntax error |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-babel-getter | 'default' |
{ [__esModule], named: [G], default: [G] } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-esModule named-and-default-export-esModule-duplicate named-and-default-export-esModule-reexport named-and-default-export-runtime-esModule |
'default' |
{ [__esModule], named, default } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-getter-esModule | 'default' |
{ [__esModule]: [G: true], [named]: [G], [default]: [G] } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-null-default-export-esModule named-and-null-default-export-runtime-esModule |
null |
{ [__esModule], named, default: null } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-export-esModule named-export-runtime-esModule |
undefined |
{ [__esModule], named } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
order-esModule | undefined |
{ [__esModule], b, a, c } |
import x import { default as x } x = require() |
single-class-export | <ref *1> { [class (anonymous)] [length]: 0, [name]: '', [prototype]: { [constructor]: [Circular *1] } } |
<ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } |
import x import { default as x } x = require() |
single-function-export | <ref *1> { [Function (anonymous)] [length]: 0, [name]: '', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } |
<ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
tla-esm | compilation error | 'default' |
import * as x; x.default import * as x; ident(x).default |
default-export default-export-runtime |
'default' |
{ default } |
import * as x; x.default import * as x; ident(x).default |
named-and-default-export named-and-default-export-duplicate named-and-default-export-inherited named-and-default-export-live named-and-default-export-reexport named-and-default-export-runtime single-object-with-default-export single-object-with-default-export-duplicate |
'default' |
{ named, default } |
import * as x; x.default import * as x; ident(x).default |
named-and-default-export-getter | 'default' |
{ [named]: [G], [default]: [G] } |
import * as x; x.default import * as x; ident(x).default |
named-and-default-export-non-enumerable named-and-default-export-non-enumerable-inherited |
'default' |
{ [named], [default] } |
import * as x; x.default import * as x; ident(x).default |
named-and-null-default-export named-and-null-default-export-runtime single-object-with-null-default-export |
null |
{ named, default: null } |
import * as x; x.default import * as x; ident(x).default |
named-and-null-default-export-non-enumerable | null |
{ [named], [default]: null } |
import * as x; x.default import * as x; ident(x).default |
named-export named-export-runtime single-object-export |
undefined |
{ named } |
import * as x; x.default import * as x; ident(x).default |
named-export-non-enumerable | undefined |
{ [named] } |
import * as x; x.default import * as x; ident(x).default |
order | undefined |
{ b, a, c } |
import * as x; x.default import * as x; ident(x).default |
require-circular require-circular-self require-conditional-execution |
'default' |
{ default, named } |
import * as x; x.default import * as x; ident(x).default |
single-class-export | undefined |
<ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } |
import * as x; x.default import * as x; ident(x).default |
single-empty-string-export | undefined |
'' |
import * as x; x.default import * as x; ident(x).default |
single-function-export | undefined |
<ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } |
import * as x; x.default |
single-null-export | type error | null |
import * as x; x.default import * as x; ident(x).default |
single-promise-object-export | undefined |
Promise { { named } } |
import * as x; x.default import * as x; ident(x).default |
single-promise-object-with-default-export | undefined |
Promise { { named, default } } |
import * as x; x.default import * as x; ident(x).default |
single-promise-string-export | undefined |
Promise { 'single' } |
import * as x; x.default import * as x; ident(x).default |
single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-reexport |
undefined |
'single' |
import * as x; x.default import * as x; ident(x).default |
single-string-export-live | undefined |
'single-outdated' |
import * as x; x.default import * as x; ident(x).default import * as x; x.named import * as x; ident(x).named import * as x; x.__esModule import * as x; ident(x).__esModule await import() === require() import * as x; x === await import() |
tla-esModule tla-esModule-esm-reexport |
compilation error | syntax error |
import * as x; x.default import * as x; ident(x).default |
tla-esm-esm-reexport | compilation error | undefined |
import * as x; ident(x).default |
single-null-export | undefined |
null |
import { named as x } |
default-export default-export-esModule default-export-esModule-esm-reexport default-export-runtime order order-esModule single-class-export single-empty-string-export single-function-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-esm-reexport single-string-export-getter single-string-export-live single-string-export-reexport |
undefined |
syntax error |
import { named as x } |
default-export-esm order-esm tla-esModule tla-esModule-esm-reexport |
compilation error | syntax error |
import { named as x } |
named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export |
'named' |
syntax error |
import { named as x } import * as x; x.named import * as x; ident(x).named |
named-and-default-export-live | 'named' |
'named-outdated' |
import { named as x } import { __esModule as x } |
single-null-export | type error | syntax error |
import { named as x } import * as x; x.named import * as x; ident(x).named |
tla-esm tla-esm-esm-reexport |
compilation error | 'named' |
import * as x; x.named import * as x; ident(x).named |
named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export-runtime named-export-runtime-esModule single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export |
'named' |
undefined |
import * as x; x.named import * as x; x.__esModule |
single-null-export | type error | undefined |
import { __esModule as x } |
default-export default-export-runtime named-and-default-export named-and-default-export-duplicate named-and-default-export-getter named-and-default-export-inherited named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-non-enumerable-inherited named-and-default-export-reexport named-and-default-export-runtime named-and-null-default-export named-and-null-default-export-non-enumerable named-and-null-default-export-runtime named-export named-export-non-enumerable named-export-runtime order require-circular require-circular-self require-conditional-execution single-class-export single-empty-string-export single-function-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-live single-string-export-reexport |
undefined |
syntax error |
import { __esModule as x } |
default-export-esm named-and-default-export-esm named-and-default-export-esm-esm-reexport named-export-esm order-esm tla-esModule tla-esModule-esm-reexport tla-esm tla-esm-esm-reexport |
compilation error | syntax error |
import { __esModule as x } |
named-and-default-export-esm-reexport named-and-default-export-getter-esModule named-and-default-export-runtime-esModule named-and-null-default-export-runtime-esModule named-export-runtime-esModule single-string-export-esm-reexport |
true |
syntax error |
import * as x; x.__esModule import * as x; ident(x).__esModule |
default-export-esm named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-and-default-export-getter-esModule named-and-default-export-runtime-esModule named-and-null-default-export-runtime-esModule named-export-esm named-export-runtime-esModule order-esm single-string-export-esm-reexport |
true |
undefined |
import * as x; x.__esModule import * as x; ident(x).__esModule |
tla-esm tla-esm-esm-reexport |
compilation error | undefined |
x = require(); x.default x = require(); ident(x).default |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport |
undefined |
require(esm) not allowed |
x = require(); x.default x = require(); ident(x).default |
default-export-esm named-and-default-export-esm |
'default' |
require(esm) not allowed |
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() |
tla-esModule | compilation error | syntax error |
x = require(); x.default x = require(); ident(x).default x = require(); x.named x = require(); ident(x).named x = require(); x.__esModule x = require(); ident(x).__esModule x = require() |
tla-esModule-esm-reexport tla-esm tla-esm-esm-reexport |
compilation error | require(esm) not allowed |
{ named } = require() |
default-export-esModule-esm-reexport single-string-export-esm-reexport |
undefined |
require(esm) not allowed |
{ named } = require() |
default-export-esm order-esm tla-esModule-esm-reexport tla-esm tla-esm-esm-reexport |
compilation error | require(esm) not allowed |
{ named } = require() x = require(); x.named x = require(); ident(x).named |
named-and-default-export-esModule-esm-reexport named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm |
'named' |
require(esm) not allowed |
x = require(); x.named x = require(); ident(x).named |
default-export-esModule-esm-reexport default-export-esm order-esm single-string-export-esm-reexport |
undefined |
require(esm) not allowed |
{ __esModule } = require() |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-reexport single-string-export-esm-reexport |
true |
require(esm) not allowed |
{ __esModule } = require() |
default-export-esm named-and-default-export-esm named-and-default-export-esm-esm-reexport named-export-esm order-esm tla-esModule-esm-reexport tla-esm tla-esm-esm-reexport |
compilation error | require(esm) not allowed |
x = require(); x.__esModule x = require(); ident(x).__esModule await import() === require() |
default-export-esModule-esm-reexport default-export-esm named-and-default-export-esModule-esm-reexport named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport |
true |
require(esm) not allowed |
x = require() |
default-export-esModule-esm-reexport | { [__esModule] } |
require(esm) not allowed |
x = require() |
default-export-esm | { [__esModule], default } |
require(esm) not allowed |
x = require() |
named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm |
{ [__esModule], named: [G] } |
require(esm) not allowed |
x = require() |
named-and-default-export-esm | { [__esModule], named: [G], default } |
require(esm) not allowed |
x = require() |
order-esm | { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } |
require(esm) not allowed |
x = require() |
single-string-export-esm-reexport | { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } |
require(esm) not allowed |
await import() === require() |
default-export default-export-esModule default-export-runtime named-and-default-export named-and-default-export-babel-getter named-and-default-export-duplicate named-and-default-export-esModule named-and-default-export-esModule-duplicate named-and-default-export-esModule-reexport named-and-default-export-getter named-and-default-export-getter-esModule named-and-default-export-inherited named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-non-enumerable-inherited named-and-default-export-reexport named-and-default-export-runtime named-and-default-export-runtime-esModule named-and-null-default-export named-and-null-default-export-esModule named-and-null-default-export-non-enumerable named-and-null-default-export-runtime named-and-null-default-export-runtime-esModule named-export named-export-esModule named-export-non-enumerable named-export-runtime named-export-runtime-esModule order order-esModule require-circular require-circular-self require-conditional-execution single-class-export single-empty-string-export single-function-export single-null-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-reexport |
true |
false |
await import() === require() |
tla-esm tla-esm-esm-reexport |
compilation error | require(esm) not allowed |
import * as x; x === await import() |
single-promise-object-export single-promise-object-with-default-export single-promise-string-export |
false |
true |
import * as x; x === await import() |
tla-esm tla-esm-esm-reexport |
compilation error | true |
.mjs
<-> .js
babel-babel-js | fixture | babel | babel-js |
---|---|---|---|
import x import { default as x } import * as x; x.default import * as x; ident(x).default x = require() |
single-function-export | <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [prototype]: { [constructor]: [Circular *1] } } |
<ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } |
.mjs
<-> .js
webpack-webpack-js | fixture | webpack | webpack-js |
---|---|---|---|
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
default-export-esModule | { [__esModule], default } |
'default' |
import x import { default as x } import * as x; x.default |
default-export-esModule-esm-reexport named-and-default-export-esModule-esm-reexport named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-export-esm order-esm single-string-export-esm-reexport tla-esm-esm-reexport |
undefined + errors |
undefined + warnings |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-babel-getter | { [__esModule], named: [G], default: [G] } |
'default' |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
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 } |
'default' |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-default-export-getter-esModule | { [__esModule]: [G: true], [named]: [G], [default]: [G] } |
'default' |
import x import { default as x } import * as x; x.default import * as x; ident(x).default |
named-and-null-default-export-esModule named-and-null-default-export-runtime-esModule |
{ [__esModule], named, default: null } |
null |
import x import { default as x } import * as x; x.default |
named-export-esModule | { [__esModule], named } |
undefined + warnings |
import x import { default as x } import * as x; x.default |
named-export-runtime-esModule | { [__esModule], named } |
undefined |
import x import { default as x } import * as x; x.default |
order-esModule | { [__esModule], b, a, c } |
undefined + warnings |
import * as x; ident(x).default |
default-export-runtime | { default } |
'default' |
import * as x; ident(x).default |
named-and-default-export-inherited named-and-default-export-runtime single-object-with-default-export single-object-with-default-export-duplicate |
{ named, default } |
'default' |
import * as x; ident(x).default |
named-and-default-export-non-enumerable-inherited | { [named], [default] } |
'default' |
import * as x; ident(x).default |
named-and-null-default-export-runtime single-object-with-null-default-export |
{ named, default: null } |
null |
import * as x; ident(x).default |
named-export-esModule named-export-runtime-esModule |
{ [__esModule], named } |
undefined |
import * as x; ident(x).default |
named-export-runtime single-object-export |
{ named } |
undefined |
import * as x; ident(x).default |
order-esModule | { [__esModule], b, a, c } |
undefined |
import * as x; ident(x).default |
single-class-export | <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } |
undefined |
import * as x; ident(x).default |
single-empty-string-export | '' |
undefined |
import * as x; ident(x).default |
single-function-export | <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } |
undefined |
import * as x; ident(x).default |
single-null-export | null |
undefined |
import * as x; ident(x).default |
single-promise-object-export | Promise { { named } } |
undefined |
import * as x; ident(x).default |
single-promise-object-with-default-export | Promise { { named, default } } |
undefined |
import * as x; ident(x).default |
single-promise-string-export | Promise { 'single' } |
undefined |
import * as x; ident(x).default |
single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-reexport |
'single' |
undefined |
import * as x; ident(x).default |
single-string-export-live | 'single-outdated' |
undefined |
import { named as x } import * as x; x.named |
default-export default-export-esModule default-export-esModule-esm-reexport default-export-esm order order-esModule order-esm |
undefined + errors |
undefined + warnings |
import { __esModule as x } import * as x; x.__esModule |
default-export default-export-esm named-and-default-export named-and-default-export-duplicate named-and-default-export-esm named-and-default-export-esm-esm-reexport named-and-default-export-esm-reexport named-and-default-export-getter named-and-default-export-live named-and-default-export-non-enumerable named-and-default-export-reexport named-and-null-default-export named-and-null-default-export-non-enumerable named-export named-export-esm named-export-non-enumerable order order-esm require-circular require-circular-self require-conditional-execution tla-esm tla-esm-esm-reexport |
true + errors |
true + warnings |
import * as x; ident(x).__esModule |
default-export-runtime named-and-default-export-inherited named-and-default-export-non-enumerable-inherited named-and-default-export-runtime named-and-null-default-export-runtime named-export-runtime single-class-export single-empty-string-export single-function-export single-null-export single-object-export single-object-with-default-export single-object-with-default-export-duplicate single-object-with-null-default-export single-promise-object-export single-promise-object-with-default-export single-promise-string-export single-string-export single-string-export-defined single-string-export-duplicate single-string-export-getter single-string-export-live single-string-export-reexport |
true |
undefined |
import * as x; x === await import() |
default-export-esModule named-and-default-export-babel-getter named-and-default-export-esModule named-and-default-export-esModule-duplicate named-and-default-export-esModule-reexport named-and-default-export-getter-esModule named-and-default-export-runtime-esModule named-and-null-default-export-esModule named-and-null-default-export-runtime-esModule named-export-esModule named-export-runtime-esModule order-esModule |
false |
true |