Skip to content

Latest commit

Β 

History

History
1192 lines (1061 loc) Β· 823 KB

File metadata and controls

1192 lines (1061 loc) Β· 823 KB

Results by test case

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'
  • πŸ’Ž hard outlier

  • 🟑 outlier

  • βœ… very common value

default-export

default-export babel

babel-js

rollup
esbuild node parcel webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ…
import * as x; x.default { 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 [Object: null prototype] { default: { default } } { default: { default } } 🟑 [Module: null prototype] { default: { default }, 'module.exports': { default }, [Module] } 🟑 { 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() [Object: null prototype] { default: { default } } { default: { default } } 🟑 [Module: null prototype] { default: { default }, 'module.exports': { default }, [Module] } 🟑 { 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 βœ… true πŸ’Ž 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

parcel

webpack4
esbuild node 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.exports': { [__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 parcel rollup webpack webpack-js webpack4

webpack4-mjs
import x

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

import * as x; ident(x).named

{ named } = require()

x = require(); x.named

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

import * as x; x.__esModule

{ __esModule } = require()

x = require(); x.__esModule

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

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

x = require(); ident(x).default
undefined βœ… undefined βœ… 'default' πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
x = require() { [__esModule] } { [__esModule] } { [__esModule], default } πŸ’Ž { [__esModule] } { [__esModule] } { [__esModule], [Module] } { [__esModule], [Module] } { [__esModule], [Module] }
await import() === require() true βœ… false πŸ’Ž false πŸ’Ž true βœ… false πŸ’Ž true βœ… true βœ… true βœ…

default-export-esm

default-export-esm babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default

x = require(); x.default

x = require(); ident(x).default
'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ…
import { named as x } undefined compilation error syntax error 🟑 compilation error compilation error undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; x.named undefined undefined + warnings undefined undefined undefined + warnings undefined + errors 🟑 undefined + warnings undefined + warnings undefined + errors 🟑
import * as x; ident(x).named

x = require(); x.named

x = require(); ident(x).named
undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
import { __esModule as x } true compilation error syntax error 🟑 compilation error compilation error true + errors 🟑 true + warnings 🟑 undefined + warnings 🟑 undefined + errors 🟑
import * as x; x.__esModule true undefined + warnings undefined 🟑 true undefined + warnings true + errors 🟑 true + warnings 🟑 undefined + warnings undefined + errors 🟑
import * as x; ident(x).__esModule true βœ… undefined πŸ’Ž undefined πŸ’Ž true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ…
import * as x { [__esModule], default } { default: [G] } πŸ’Ž [Module: null prototype] { default, [Module] } πŸ’Ž { [__esModule], default } [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] } 🟑 { [__esModule], default } { default } 🟑 { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } { [__esModule], default, [Module] } { [__esModule], default, [Module] }
{ named } = require() undefined βœ… undefined βœ… undefined βœ… compilation error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
{ __esModule } = require() true βœ… true βœ… true βœ… compilation error πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ…
x = require(); x.__esModule

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

import * as x; x === await import()
true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…
x = require() { [__esModule], default } { [__esModule], default: [G] } [Module: null prototype] { __esModule, default, [Module] } 🟑 { [__esModule], default } { [__esModule], default: [G] } { [__esModule], default: [G], [Module] } { [__esModule], default: [G], [Module] } { [__esModule], default, [Module] } { [__esModule], default, [Module] }
await import() === require() true βœ… false πŸ’Ž false πŸ’Ž true βœ… false πŸ’Ž true βœ… true βœ… true βœ… true βœ…

default-export-runtime

default-export-runtime babel

babel-js

rollup
esbuild node parcel webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ… { default } βœ…
import * as x; x.default { 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 [Object: null prototype] { default: { default } } { default: { default } } 🟑 [Module: null prototype] { default: { default }, 'module.exports': { default }, [Module] } 🟑 { default } [Module: null prototype] { [__esModule], default: [G] { default }, [Module] } 🟑 { default } { default } [Module: null prototype] { [__esModule], default: { default }, [Module] } 🟑
import() [Object: null prototype] { default: { default } } { default: { default } } 🟑 [Module: null prototype] { default: { default }, 'module.exports': { default }, [Module] } 🟑 { 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 βœ… true πŸ’Ž 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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… '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' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named, [Module] } { named, default } [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() [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named, [Module] } { named, default } [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-babel-getter

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

babel-js

parcel

webpack-js

webpack4
esbuild node 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] }, 'module.exports': { [__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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… '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' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named, [Module] } { named, default } [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() [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named, [Module] } { named, default } [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-esModule

named-and-default-export-esModule babel

babel-js

parcel

webpack-js

webpack4
esbuild node 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 }, 'module.exports': { [__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-esModule-duplicate

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

babel-js

parcel

webpack-js

webpack4
esbuild node 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 }, 'module.exports': { [__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-esModule-esm-reexport

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

babel-js
esbuild node parcel rollup webpack webpack-js webpack4

webpack4-mjs
import x

import { default as x }
undefined undefined syntax error πŸ’Ž compilation error πŸ’Ž compilation error πŸ’Ž undefined + errors πŸ’Ž undefined + warnings πŸ’Ž undefined
import * as x; x.default undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + warnings πŸ’Ž undefined + errors πŸ’Ž undefined + warnings πŸ’Ž undefined βœ…
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 } = require()

x = require(); x.named

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

import * as x; x.__esModule

{ __esModule } = require()

x = require(); x.__esModule

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

import * as x; x === await import()
true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…
import * as x; ident(x).__esModule true βœ… true βœ… true βœ… true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ…
import * as x { [__esModule], named: [G] } { [__esModule]: [G: true], named: [G] } πŸ’Ž [Module: null prototype] { __esModule, 'module.exports': { [__esModule], named, default }, named, [Module] } πŸ’Ž { [__esModule], named: [G] } [Object: null prototype] { named: [G] } πŸ’Ž { [__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, 'module.exports': { [__esModule], named, default }, named, [Module] } πŸ’Ž { [__esModule], named: [G] } {} πŸ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
x = require(); x.default

x = require(); ident(x).default
undefined βœ… undefined βœ… 'default' πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
x = require() { [__esModule], named: [G] } { [__esModule], named: [G] } { [__esModule], named, default } πŸ’Ž { [__esModule], named: [G] } { [__esModule], named: [G] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
await import() === require() true βœ… false πŸ’Ž false πŸ’Ž true βœ… false πŸ’Ž true βœ… true βœ… true βœ…

named-and-default-export-esModule-reexport

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

babel-js

parcel

webpack-js

webpack4
esbuild node 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 }, 'module.exports': { [__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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default

x = require(); x.default

x = require(); ident(x).default
'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 } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
import { __esModule as x } true compilation error syntax error 🟑 compilation error compilation error true + errors 🟑 true + warnings 🟑 undefined + warnings 🟑 undefined + errors 🟑
import * as x; x.__esModule true undefined + warnings undefined 🟑 true undefined + warnings true + errors 🟑 true + warnings 🟑 undefined + warnings undefined + errors 🟑
import * as x; ident(x).__esModule true βœ… undefined πŸ’Ž undefined πŸ’Ž true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ…
import * as x { [__esModule], default, named } { default: [G], named: [G] } [Module: null prototype] { default, named, [Module] } { [__esModule], named: [G], default } [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] } { [__esModule], named: [G], default } { default, named } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], default: [G], named: [G], [Module] } { [__esModule], named: [G], default, [Module] } { [__esModule], named: [G], default, [Module] }
{ __esModule } = require() true βœ… true βœ… true βœ… compilation error πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ…
x = require(); x.__esModule

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

import * as x; x === await import()
true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…
x = require() { [__esModule], default, named } { [__esModule], default: [G], named: [G] } [Module: null prototype] { __esModule, default, named, [Module] } { [__esModule], named: [G], default } { [__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 πŸ’Ž false πŸ’Ž true βœ… false πŸ’Ž true βœ… true βœ… true βœ… true βœ…

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

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

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }
runtime error compilation error syntax error 🟑 compilation error compilation error undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; x.default runtime error 🟑 undefined + warnings undefined 🟑 undefined 🟑 undefined + warnings undefined + errors 🟑 undefined + warnings undefined + warnings undefined + errors 🟑
import * as x; ident(x).default

x = require(); x.default

x = require(); ident(x).default
runtime error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
import { named as x }

import * as x; x.named

import * as x; ident(x).named

{ named } = require()

x = require(); x.named

x = require(); ident(x).named
runtime error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
import { __esModule as x } runtime error compilation error syntax error 🟑 compilation error compilation error true + errors 🟑 true + warnings 🟑 undefined + warnings 🟑 undefined + errors 🟑
import * as x; x.__esModule runtime error undefined + warnings undefined 🟑 true 🟑 undefined + warnings true + errors 🟑 true + warnings 🟑 undefined + warnings undefined + errors 🟑
import * as x; ident(x).__esModule runtime error πŸ’Ž undefined 🟑 undefined 🟑 true undefined 🟑 true true true true
import * as x runtime error 🟑 { named: [G] } πŸ’Ž [Module: null prototype] { named, [Module] } πŸ’Ž { [__esModule], named: [G] } πŸ’Ž [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] } πŸ’Ž { [__esModule], named: [G] } πŸ’Ž { named } πŸ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
{ __esModule } = require() runtime error πŸ’Ž true βœ… undefined πŸ’Ž compilation error πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ…
x = require(); x.__esModule

x = require(); ident(x).__esModule
runtime error πŸ’Ž true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…
x = require() runtime error 🟑 { [__esModule], named: [G] } [Module: null prototype] { named, [Module] } πŸ’Ž { [__esModule], named: [G] } { [__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 πŸ’Ž true βœ… true βœ… false πŸ’Ž true βœ… true βœ… true βœ… true βœ…
import * as x; x === await import() runtime error πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…

named-and-default-export-esm-reexport

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

babel-js
esbuild node parcel rollup webpack webpack-js webpack4

webpack4-mjs
import x

import { default as x }
undefined undefined syntax error πŸ’Ž compilation error πŸ’Ž compilation error πŸ’Ž undefined + errors πŸ’Ž undefined + warnings πŸ’Ž undefined
import * as x; x.default undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + warnings πŸ’Ž undefined + errors πŸ’Ž undefined + warnings πŸ’Ž undefined βœ…
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 } = require()

x = require(); x.named

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

x = require(); ident(x).default
undefined βœ… undefined βœ… 'default' πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
{ __esModule } = require()

x = require(); x.__esModule

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

named-and-default-export-getter

named-and-default-export-getter babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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] } βœ… { [named]: [G], [default]: [G] } βœ…
import * as x; x.default { [named]: [G], [default]: [G] } βœ… { [named]: [G], [default]: [G] } βœ… { [named]: [G], [default]: [G] } βœ… 'default' πŸ’Ž { [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] } βœ… 'default' πŸ’Ž { [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' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined πŸ’Ž 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named undefined 'named' undefined 'named' undefined 'named' 'named' 'named' undefined
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { [named]: [G], [default]: [G] } } { default: { [named]: [G], [default]: [G] }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named]: [G], [default]: [G] }, 'module.exports': { [named]: [G], [default]: [G] }, [Module] } 🟑 { [named]: [G], [default]: [G] } [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() [Object: null prototype] { default: { [named]: [G], [default]: [G] } } { default: { [named]: [G], [default]: [G] }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named]: [G], [default]: [G] }, 'module.exports': { [named]: [G], [default]: [G] }, [Module] } 🟑 { [named]: [G], [default]: [G] } 🟑 [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-getter-esModule

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

babel-js

parcel

webpack-js

webpack4
esbuild node 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.exports': { [__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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž 'default' πŸ’Ž { named, default } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined πŸ’Ž 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named undefined 'named' undefined 'named' undefined 'named' 'named' 'named' undefined
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default } } { default: { named, default }, named } 🟑 [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } 🟑 { named, default } [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() [Object: null prototype] { default: { named, default } } { default: { named, default }, named } 🟑 [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } 🟑 { named, default } 🟑 [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-live

named-and-default-export-live babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ…
import { named as x } 'named' βœ… 'named' βœ… 'named-outdated' πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named-outdated' πŸ’Ž 'named' βœ… 'named-outdated' πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named-outdated' πŸ’Ž 'named' βœ… 'named-outdated' πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default }, named: 'named-outdated' } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named: 'named-outdated', [Module] } { named, default } [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() [Object: null prototype] { default: { named, default }, named: 'named-outdated' } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named: 'named-outdated', [Module] } { named, default } [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' βœ… 'default' βœ…
{ named } = require() 'named-outdated' βœ… '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' βœ… 'named' βœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-non-enumerable

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

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ…
import * as x; x.default { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… 'default' πŸ’Ž { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ…
import * as x; ident(x).default { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… 'default' πŸ’Ž { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… 'default' πŸ’Ž { [named], [default] } βœ…
import { named as x } 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named undefined 🟑 'named' βœ… 'named' βœ… 'named' βœ… undefined 🟑 'named' βœ… 'named' βœ… 'named' βœ… undefined 🟑
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { [named], [default] } } { default: { [named], [default] }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named], [default] }, 'module.exports': { [named], [default] }, named, [Module] } 🟑 { [named], [default] } [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() [Object: null prototype] { default: { [named], [default] } } { default: { [named], [default] }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named], [default] }, 'module.exports': { [named], [default] }, named, [Module] } 🟑 { [named], [default] } 🟑 [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true 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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ…
import * as x; x.default { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… 'default' πŸ’Ž { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ…
import * as x; ident(x).default { [named], [default] } βœ… { [named], [default] } βœ… { [named], [default] } βœ… 'default' πŸ’Ž { [named], [default] } βœ… { [named], [default] } βœ… 'default' πŸ’Ž 'default' πŸ’Ž { [named], [default] } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined πŸ’Ž 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named undefined 'named' undefined 'named' undefined 'named' 'named' 'named' undefined
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { [named], [default] } } { default: { [named], [default] }, [named] } 🟑 [Module: null prototype] { default: { [named], [default] }, 'module.exports': { [named], [default] }, [Module] } 🟑 { [named], [default] } [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() [Object: null prototype] { default: { [named], [default] } } { default: { [named], [default] }, [named] } 🟑 [Module: null prototype] { default: { [named], [default] }, 'module.exports': { [named], [default] }, [Module] } 🟑 { [named], [default] } 🟑 [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-reexport

named-and-default-export-reexport babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… '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' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named, [Module] } { named, default } [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() [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, named, [Module] } { named, default } [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-runtime

named-and-default-export-runtime babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž 'default' πŸ’Ž { named, default } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } 🟑 [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } 🟑 { named, default } [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() [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } { named, default } [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-default-export-runtime-esModule

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

babel-js

parcel

webpack-js

webpack4
esbuild node 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.exports': { [__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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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 } βœ… { named, default: null } βœ…
import * as x; x.default { named, default: null } βœ… { named, default: null } βœ… { named, default: null } βœ… 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 } βœ… 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' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default: null }, named } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, 'module.exports': { named, default: null }, named, [Module] } { named, default: null } [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] } { named, default: null } [Module: null prototype] { [__esModule], default: { named, default: null }, [Module] }
import() [Object: null prototype] { default: { named, default: null }, named } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, 'module.exports': { named, default: null }, named, [Module] } { named, default: null } [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 βœ… null βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-null-default-export-esModule

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

babel-js

parcel

webpack-js

webpack4
esbuild node 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 }, 'module.exports': { [__esModule], named, default: null }, named, [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-and-null-default-export-non-enumerable

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

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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 } βœ… { [named], [default]: null } βœ…
import * as x; x.default { [named], [default]: null } βœ… { [named], [default]: null } βœ… { [named], [default]: null } βœ… 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 } βœ… 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' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named undefined 🟑 'named' βœ… 'named' βœ… 'named' βœ… undefined 🟑 'named' βœ… 'named' βœ… 'named' βœ… undefined 🟑
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { [named], [default]: null } } { default: { [named], [default]: null }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named], [default]: null }, 'module.exports': { [named], [default]: null }, named, [Module] } 🟑 { [named], [default]: null } [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() [Object: null prototype] { default: { [named], [default]: null } } { default: { [named], [default]: null }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named], [default]: null }, 'module.exports': { [named], [default]: null }, named, [Module] } 🟑 { [named], [default]: null } 🟑 [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 βœ… null βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-and-null-default-export-runtime

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

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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 } βœ… { named, default: null } βœ…
import * as x; x.default { named, default: null } βœ… { named, default: null } βœ… { named, default: null } βœ… 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 } βœ… null πŸ’Ž { named, default: null } βœ… { named, default: null } βœ… null πŸ’Ž null πŸ’Ž { named, default: null } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default: null }, named } { default: { named, default: null }, named: [G] } 🟑 [Module: null prototype] { default: { named, default: null }, 'module.exports': { named, default: null }, [Module] } 🟑 { named, default: null } [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() [Object: null prototype] { default: { named, default: null }, named } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, 'module.exports': { named, default: null }, [Module] } { named, default: null } [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 βœ… null βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

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

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

babel-js

parcel

webpack-js

webpack4
esbuild node 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.exports': { [__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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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

import * as x; x.named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named }, named } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, 'module.exports': { named }, named, [Module] } { named } [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] } { named } [Module: null prototype] { [__esModule], default: { named }, [Module] }
import() [Object: null prototype] { default: { named }, named } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, 'module.exports': { named }, named, [Module] } { named } [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 βœ… undefined βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-export-esModule

named-export-esModule babel

babel-js

parcel

webpack4
esbuild node 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 }, 'module.exports': { [__esModule], named }, named, [Module] } πŸ’Ž [Object: null prototype] { default: { [__esModule], named }, named: [G] } πŸ’Ž [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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }
undefined compilation error syntax error 🟑 compilation error compilation error undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; x.default undefined undefined + warnings undefined undefined undefined + warnings undefined + errors 🟑 undefined + warnings undefined + warnings undefined + errors 🟑
import * as x; ident(x).default

x = require(); x.default

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

import * as x; x.named

import * as x; ident(x).named

{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
import { __esModule as x } true compilation error syntax error 🟑 compilation error compilation error true + errors 🟑 true + warnings 🟑 undefined + warnings 🟑 undefined + errors 🟑
import * as x; x.__esModule true undefined + warnings undefined 🟑 true undefined + warnings true + errors 🟑 true + warnings 🟑 undefined + warnings undefined + errors 🟑
import * as x; ident(x).__esModule true βœ… undefined πŸ’Ž undefined πŸ’Ž true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ…
import * as x { [__esModule], named } 🟑 { named: [G] } πŸ’Ž [Module: null prototype] { named, [Module] } πŸ’Ž { [__esModule], named: [G] } πŸ’Ž [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] } πŸ’Ž { [__esModule], named: [G] } πŸ’Ž { named } πŸ’Ž { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
{ __esModule } = require() true βœ… true βœ… undefined πŸ’Ž compilation error πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ…
x = require(); x.__esModule

x = require(); ident(x).__esModule
true βœ… true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…
x = require() { [__esModule], named } 🟑 { [__esModule], named: [G] } [Module: null prototype] { named, [Module] } πŸ’Ž { [__esModule], named: [G] } { [__esModule], named: [G] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] } { [__esModule], named: [G], [Module] }
await import() === require() true βœ… false πŸ’Ž true βœ… true βœ… false πŸ’Ž true βœ… true βœ… true βœ… true βœ…
import * as x; x === await import() true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…

named-export-non-enumerable

named-export-non-enumerable babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ…
import * as x; x.default { [named] } βœ… { [named] } βœ… { [named] } βœ… undefined πŸ’Ž { [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ… { [named] } βœ…
import * as x; ident(x).default { [named] } βœ… { [named] } βœ… { [named] } βœ… undefined πŸ’Ž { [named] } βœ… { [named] } βœ… { [named] } βœ… undefined πŸ’Ž { [named] } βœ…
import { named as x } 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named undefined 🟑 'named' βœ… 'named' βœ… 'named' βœ… undefined 🟑 'named' βœ… 'named' βœ… 'named' βœ… undefined 🟑
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { [named] } } { default: { [named] }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named] }, 'module.exports': { [named] }, named, [Module] } 🟑 { [named] } [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() [Object: null prototype] { default: { [named] } } { default: { [named] }, [named]: [G] } 🟑 [Module: null prototype] { default: { [named] }, 'module.exports': { [named] }, named, [Module] } 🟑 { [named] } 🟑 [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 βœ… undefined βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-export-runtime

named-export-runtime babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ…
import * as x; x.default { named } βœ… { named } βœ… { named } βœ… undefined πŸ’Ž { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ…
import * as x; ident(x).default { named } βœ… { named } βœ… { named } βœ… undefined πŸ’Ž { named } βœ… { named } βœ… undefined πŸ’Ž undefined πŸ’Ž { named } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named }, named } { default: { named }, named: [G] } 🟑 [Module: null prototype] { default: { named }, 'module.exports': { named }, [Module] } 🟑 { named } [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() [Object: null prototype] { default: { named }, named } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, 'module.exports': { named }, [Module] } { named } [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 βœ… undefined βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

named-export-runtime-esModule

named-export-runtime-esModule babel

babel-js

parcel

webpack-js

webpack4
esbuild node 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.exports': { [__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 parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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 } βœ… { b, a, c } βœ…
import * as x; x.default { b, a, c } βœ… { b, a, c } βœ… { b, a, c } βœ… undefined πŸ’Ž { 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 } βœ… undefined πŸ’Ž { b, a, c } βœ… { b, a, c } βœ… { b, a, c } βœ… undefined πŸ’Ž { b, a, c } βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined + errors πŸ’Ž undefined + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true + errors πŸ’Ž true + warnings πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { b, a, c }, 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.exports': { b, a, c }, [Module] } { b, a, c } [Object: null prototype] { default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: '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() [Object: null prototype] { default: { b, a, c }, 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.exports': { b, a, c }, [Module] } { b, a, c } [Object: null prototype] { default: { b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: '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 βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

order-esModule

order-esModule babel

babel-js

parcel

webpack4
esbuild node 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 πŸ’Ž 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

x = require(); x.default

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

{ 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], b, a, c } { default: { [__esModule], b, a, c }, [__esModule]: [G: true], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } πŸ’Ž [Module: null prototype] { __esModule, a, b, c, default: { [__esModule], b, a, c }, 'module.exports': { [__esModule], b, a, c }, [Module] } πŸ’Ž [Object: null prototype] { default: { [__esModule], b, a, c }, b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } πŸ’Ž [Module: null prototype] { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], default: [G] { [__esModule], b, a, c }, [Module] } πŸ’Ž { [__esModule], b, a, c } [Module: null prototype] { [__esModule], default: { [__esModule], b, a, c }, [Module] } πŸ’Ž
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…
x = require() { [__esModule], b, a, c } βœ… { [__esModule], b, a, c } βœ… { [__esModule], b, a, c } βœ… { [__esModule], b, a, c } βœ… { [__esModule], b, a, c } βœ… { [__esModule], b, a, c } βœ… { [__esModule], b, a, c } βœ…
await import() === require() true βœ… false πŸ’Ž false πŸ’Ž false πŸ’Ž true βœ… true βœ… true βœ…
import * as x; x === await import() true βœ… false πŸ’Ž true βœ… true βœ… false πŸ’Ž true βœ… false πŸ’Ž

order-esm

order-esm babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

import { named as x }
undefined compilation error syntax error 🟑 compilation error compilation error undefined + errors undefined + warnings undefined + warnings undefined + errors
import * as x; x.default

import * as x; x.named
undefined undefined + warnings undefined undefined undefined + warnings undefined + errors 🟑 undefined + warnings undefined + warnings undefined + errors 🟑
import * as x; ident(x).default

import * as x; ident(x).named

x = require(); x.default

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

x = require(); x.named

x = require(); ident(x).named
undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
import { __esModule as x } true compilation error syntax error 🟑 compilation error compilation error true + errors 🟑 true + warnings 🟑 undefined + warnings 🟑 undefined + errors 🟑
import * as x; x.__esModule true undefined + warnings undefined 🟑 true undefined + warnings true + errors 🟑 true + warnings 🟑 undefined + warnings undefined + errors 🟑
import * as x; ident(x).__esModule true βœ… undefined πŸ’Ž undefined πŸ’Ž true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ…
import * as x { [__esModule], a, b, c } { a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } [Module: null prototype] { a, b, c, [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } [Object: null prototype] { a, b, c } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] }
import() { [__esModule], a, b, c } { a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } [Module: null prototype] { a, b, c, [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } { a, b, c } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] }
{ named } = require() undefined βœ… undefined βœ… undefined βœ… compilation error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
{ __esModule } = require() true βœ… true βœ… undefined πŸ’Ž compilation error πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ…
x = require(); x.__esModule

x = require(); ident(x).__esModule
true βœ… true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…
x = require() { [__esModule], a, b, c } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } [Module: null prototype] { a, b, c, [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'] } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'] } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], a: [G: 'a'], b: [G: 'b'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] } { [__esModule], b: [G: 'b'], a: [G: 'a'], c: [G: 'c'], [Module] }
await import() === require() true βœ… false πŸ’Ž true βœ… true βœ… false πŸ’Ž true βœ… true βœ… true βœ… true βœ…
import * as x; x === await import() true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…

require-circular

require-circular babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } + warnings πŸ’Ž { default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } βœ…
import * as x; x.default { default, named } βœ… { default, named } βœ… { default, named } βœ… 'default' πŸ’Ž { default, named } + warnings πŸ’Ž { default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } βœ…
import * as x; ident(x).default { default, named } βœ… { default, named } βœ… { default, named } βœ… 'default' πŸ’Ž { default, named } + warnings πŸ’Ž { default, named } βœ… { default, named } βœ… 'default' πŸ’Ž { default, named } βœ…
import { named as x }

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

x = require(); ident(x).default
'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ… 'default' + warnings πŸ’Ž 'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' + warnings πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + warnings πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false + warnings πŸ’Ž false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true + warnings πŸ’Ž false false false false

require-circular-self

require-circular-self babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } + warnings πŸ’Ž { default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } βœ…
import * as x; x.default { default, named } βœ… { default, named } βœ… { default, named } βœ… 'default' πŸ’Ž { default, named } + warnings πŸ’Ž { default, named } βœ… { default, named } βœ… { default, named } βœ… { default, named } βœ…
import * as x; ident(x).default { default, named } βœ… { default, named } βœ… { default, named } βœ… 'default' πŸ’Ž { default, named } + warnings πŸ’Ž { default, named } βœ… { default, named } βœ… 'default' πŸ’Ž { default, named } βœ…
import { named as x }

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

x = require(); ident(x).default
'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ… 'default' + warnings πŸ’Ž 'default' βœ… 'default' βœ… 'default' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' + warnings πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + warnings πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false + warnings πŸ’Ž false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true + warnings πŸ’Ž false false false false

require-conditional-execution

require-conditional-execution babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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

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

x = require(); ident(x).default
'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' βœ… 'named' βœ…
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

single-class-export

single-class-export babel

babel-js

rollup
esbuild node parcel webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
<ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class (anonymous)] [length]: 0, [name]: '', [prototype]: { [constructor]: [Circular *1] } } πŸ’Ž <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ…
import * as x; x.default <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… undefined πŸ’Ž <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ…
import * as x; ident(x).default <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… undefined πŸ’Ž <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ… undefined πŸ’Ž undefined πŸ’Ž <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } βœ…
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

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 πŸ’Ž 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 [Object: null prototype] { default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } } Function { default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, [length]: [G: 0], [name]: [G: 'TheClass'], [prototype]: [G] <ref *2> { [constructor]: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: [Circular *2] } } } 🟑 [Module: null prototype] { default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, 'module.exports': <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, [Module] } 🟑 <ref *1> { [class (anonymous)] [length]: 0, [name]: '', [prototype]: { [constructor]: [Circular *1] } } 🟑 [Module: null prototype] { [__esModule], default: [G: <Inspection threw>], [Module] } 🟑 <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } [Module: null prototype] { [__esModule], default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, [Module] } 🟑
import() [Object: null prototype] { default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } } } Function { default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, [length]: [G: 0], [name]: [G: 'TheClass'], [prototype]: [G] <ref *2> { [constructor]: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: [Circular *2] } } } 🟑 [Module: null prototype] { default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, 'module.exports': <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, [Module] } 🟑 <ref *1> { [class (anonymous)] [length]: 0, [name]: '', [prototype]: { [constructor]: [Circular *1] } } 🟑 [Module: null prototype] { [__esModule], default: [G: <Inspection threw>], [Module] } [Module: null prototype] { [__esModule], default: [G: <Inspection threw>], [Module] } [Module: null prototype] { [__esModule], default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, [Module] } [Module: null prototype] { [__esModule], default: <ref *1> { [class TheClass] [length]: 0, [name]: 'TheClass', [prototype]: { [constructor]: [Circular *1] } }, [Module] }
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true false false false false

single-empty-string-export

single-empty-string-export babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
'' βœ… '' βœ… '' βœ… '' βœ… '' βœ… '' βœ… '' βœ… '' βœ… '' βœ…
import * as x; x.default '' βœ… '' βœ… '' βœ… undefined πŸ’Ž '' βœ… '' βœ… '' βœ… '' βœ… '' βœ…
import * as x; ident(x).default '' βœ… '' βœ… '' βœ… undefined πŸ’Ž '' βœ… '' βœ… undefined πŸ’Ž undefined πŸ’Ž '' βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: '' } String { default: '' } 🟑 [Module: null prototype] { default: '', 'module.exports': '', [Module] } 🟑 '' [Object: null prototype] { default: '' } [Module: null prototype] { [__esModule], default: [G: ''], [Module] } 🟑 '' '' [Module: null prototype] { [__esModule], default: '', [Module] } 🟑
import() [Object: null prototype] { default: '' } String { default: '' } 🟑 [Module: null prototype] { default: '', 'module.exports': '', [Module] } 🟑 '' 🟑 [Object: null prototype] { default: '' } [Module: null prototype] { [__esModule], default: [G: ''], [Module] } [Module: null prototype] { [__esModule], default: [G: ''], [Module] } [Module: null prototype] { [__esModule], default: '', [Module] } [Module: null prototype] { [__esModule], default: '', [Module] }
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

single-function-export

single-function-export babel

rollup
babel-js esbuild node parcel webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
<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] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } βœ… <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] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [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 * as x; x.default <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] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } βœ… undefined πŸ’Ž <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } βœ… <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [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 * as x; ident(x).default <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] } } <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } undefined 🟑 <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } undefined 🟑 undefined 🟑 <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }
import { named as x } undefined βœ… undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [prototype]: { [constructor]: [Circular *1] } } } [Object: null prototype] { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } } Function { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, [length]: [G: 0], [name]: [G: 'theFunction'], [arguments]: [G: null], [caller]: [G: null], [prototype]: [G] <ref *2> { [constructor]: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: [Circular *2] } } } [Module: null prototype] { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, 'module.exports': <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, [Module] } <ref *1> { [Function (anonymous)] [length]: 0, [name]: '', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } [Module: null prototype] { [__esModule], default: [G: <Inspection threw>], [Module] } <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } [Module: null prototype] { [__esModule], default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, [Module] }
import() [Object: null prototype] { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [prototype]: { [constructor]: [Circular *1] } } } [Object: null prototype] { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } } Function { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, [length]: [G: 0], [name]: [G: 'theFunction'], [arguments]: [G: null], [caller]: [G: null], [prototype]: [G] <ref *2> { [constructor]: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: [Circular *2] } } } [Module: null prototype] { default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, 'module.exports': <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, [Module] } <ref *1> { [Function (anonymous)] [length]: 0, [name]: '', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } } [Module: null prototype] { [__esModule], default: [G: <Inspection threw>], [Module] } [Module: null prototype] { [__esModule], default: [G: <Inspection threw>], [Module] } [Module: null prototype] { [__esModule], default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, [Module] } [Module: null prototype] { [__esModule], default: <ref *1> { [Function: theFunction] [length]: 0, [name]: 'theFunction', [arguments]: null, [caller]: null, [prototype]: { [constructor]: [Circular *1] } }, [Module] }
await import() === require() false βœ… false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true true false true true false false false false

single-null-export

single-null-export babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
null βœ… null βœ… null βœ… null βœ… null βœ… null βœ… null βœ… null βœ… null βœ…
import * as x; x.default null βœ… null βœ… null βœ… type error πŸ’Ž null βœ… null βœ… null βœ… null βœ… null βœ…
import * as x; ident(x).default null βœ… null βœ… null βœ… undefined πŸ’Ž null βœ… null βœ… undefined πŸ’Ž undefined πŸ’Ž null βœ…
import { named as x } type error βœ… undefined πŸ’Ž syntax error πŸ’Ž type error βœ… type error βœ… type error βœ… type error βœ… type error βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined undefined undefined type error type error type error type error type error undefined + errors πŸ’Ž
import * as x; ident(x).named

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

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

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

{ named } = require()

x = require(); x.named

{ __esModule } = require()

x = require(); x.__esModule
type error βœ… type error βœ… type error βœ… type error βœ… type error βœ… type error βœ… type error βœ… type error βœ… type error βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

single-object-export

single-object-export babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ…
import * as x; x.default { named } βœ… { named } βœ… { named } βœ… undefined πŸ’Ž { named } βœ… { named } βœ… { named } βœ… { named } βœ… { named } βœ…
import * as x; ident(x).default { named } βœ… { named } βœ… { named } βœ… undefined πŸ’Ž { named } βœ… { named } βœ… undefined πŸ’Ž undefined πŸ’Ž { named } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named }, named } { default: { named }, named: [G] } 🟑 [Module: null prototype] { default: { named }, 'module.exports': { named }, [Module] } 🟑 { named } [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() [Object: null prototype] { default: { named }, named } { default: { named }, named: [G] } [Module: null prototype] { default: { named }, 'module.exports': { named }, [Module] } { named } [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 βœ… undefined βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

single-object-with-default-export

single-object-with-default-export babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž 'default' πŸ’Ž { named, default } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } 🟑 [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } 🟑 { named, default } [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() [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } { named, default } [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

single-object-with-default-export-duplicate

single-object-with-default-export-duplicate babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
{ named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; x.default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ… { named, default } βœ…
import * as x; ident(x).default { named, default } βœ… { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž { named, default } βœ… { named, default } βœ… 'default' πŸ’Ž 'default' πŸ’Ž { named, default } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } 🟑 [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } 🟑 { named, default } [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() [Object: null prototype] { default: { named, default }, named } { default: { named, default }, named: [G] } [Module: null prototype] { default: { named, default }, 'module.exports': { named, default }, [Module] } { named, default } [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' βœ… 'default' βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

single-object-with-null-default-export

single-object-with-null-default-export babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

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 } βœ… { named, default: null } βœ…
import * as x; x.default { named, default: null } βœ… { named, default: null } βœ… { named, default: null } βœ… 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 } βœ… null πŸ’Ž { named, default: null } βœ… { named, default: null } βœ… null πŸ’Ž null πŸ’Ž { named, default: null } βœ…
import { named as x } 'named' βœ… 'named' βœ… syntax error πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; x.named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined + errors πŸ’Ž
import * as x; ident(x).named 'named' βœ… 'named' βœ… undefined πŸ’Ž 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… 'named' βœ… undefined πŸ’Ž
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: { named, default: null }, named } { default: { named, default: null }, named: [G] } 🟑 [Module: null prototype] { default: { named, default: null }, 'module.exports': { named, default: null }, [Module] } 🟑 { named, default: null } [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() [Object: null prototype] { default: { named, default: null }, named } { default: { named, default: null }, named: [G] } [Module: null prototype] { default: { named, default: null }, 'module.exports': { named, default: null }, [Module] } { named, default: null } [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 βœ… null βœ…
{ named } = require()

x = require(); x.named

x = require(); ident(x).named
'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 βœ… undefined βœ…
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true false true true true false false false false

single-promise-object-export

single-promise-object-export babel

babel-js

rollup
esbuild node parcel webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ…
import * as x; x.default Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… undefined πŸ’Ž Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ…
import * as x; ident(x).default Promise { { named } } βœ… Promise { { named } } βœ… Promise { { named } } βœ… undefined πŸ’Ž Promise { { named } } βœ… undefined πŸ’Ž undefined πŸ’Ž Promise { { named } } βœ…
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

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 πŸ’Ž 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 [Object: null prototype] { default: Promise { { named } } } Promise { default: Promise { { named } } } 🟑 [Module: null prototype] { default: Promise { { named } }, 'module.exports': Promise { { named } }, [Module] } 🟑 Promise { { named } } [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] } 🟑 Promise { { named } } Promise { { named } } [Module: null prototype] { [__esModule], default: Promise { { named } }, [Module] } 🟑
import() [Object: null prototype] { default: Promise { { named } } } type error 🟑 [Module: null prototype] { default: Promise { { named } }, 'module.exports': Promise { { named } }, [Module] } 🟑 { named } { named } { named } [Module: null prototype] { [__esModule], default: Promise { { named } }, [Module] } [Module: null prototype] { [__esModule], default: Promise { { named } }, [Module] }
await import() === require() false βœ… type error πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true type error πŸ’Ž true false false false false false

single-promise-object-with-default-export

single-promise-object-with-default-export babel

babel-js

rollup
esbuild node parcel webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ…
import * as x; x.default Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… undefined πŸ’Ž Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ…
import * as x; ident(x).default Promise { { named, default } } βœ… Promise { { named, default } } βœ… Promise { { named, default } } βœ… undefined πŸ’Ž Promise { { named, default } } βœ… undefined πŸ’Ž undefined πŸ’Ž Promise { { named, 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

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 πŸ’Ž 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 [Object: null prototype] { default: Promise { { named, default } } } Promise { default: Promise { { named, default } } } 🟑 [Module: null prototype] { default: Promise { { named, default } }, 'module.exports': Promise { { named, default } }, [Module] } 🟑 Promise { { named, default } } [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] } 🟑 Promise { { named, default } } Promise { { named, default } } [Module: null prototype] { [__esModule], default: Promise { { named, default } }, [Module] } 🟑
import() [Object: null prototype] { default: Promise { { named, default } } } type error 🟑 [Module: null prototype] { default: Promise { { named, default } }, 'module.exports': Promise { { named, default } }, [Module] } 🟑 { named, default } { named, default } { named, default } [Module: null prototype] { [__esModule], default: Promise { { named, default } }, [Module] } [Module: null prototype] { [__esModule], default: Promise { { named, default } }, [Module] }
await import() === require() false βœ… type error πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true type error πŸ’Ž true false false false false false

single-promise-string-export

single-promise-string-export babel

babel-js

rollup
esbuild node parcel webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ…
import * as x; x.default Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… undefined πŸ’Ž Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ…
import * as x; ident(x).default Promise { 'single' } βœ… Promise { 'single' } βœ… Promise { 'single' } βœ… undefined πŸ’Ž Promise { 'single' } βœ… undefined πŸ’Ž undefined πŸ’Ž Promise { 'single' } βœ…
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

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 πŸ’Ž 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 [Object: null prototype] { default: Promise { 'single' } } Promise { default: Promise { 'single' } } 🟑 [Module: null prototype] { default: Promise { 'single' }, 'module.exports': Promise { 'single' }, [Module] } 🟑 Promise { 'single' } [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] } 🟑 Promise { 'single' } Promise { 'single' } [Module: null prototype] { [__esModule], default: Promise { 'single' }, [Module] } 🟑
import() [Object: null prototype] { default: Promise { 'single' } } type error 🟑 [Module: null prototype] { default: Promise { 'single' }, 'module.exports': Promise { 'single' }, [Module] } 🟑 'single' 'single' 'single' [Module: null prototype] { [__esModule], default: Promise { 'single' }, [Module] } [Module: null prototype] { [__esModule], default: Promise { 'single' }, [Module] }
await import() === require() false βœ… type error πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() true type error πŸ’Ž true false false false false false

single-string-export

single-string-export babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; x.default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; ident(x).default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… undefined πŸ’Ž undefined πŸ’Ž 'single' βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } 🟑 'single' 'single' [Module: null prototype] { [__esModule], default: 'single', [Module] } 🟑
import() [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' 🟑 [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] }
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

single-string-export-defined

single-string-export-defined babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; x.default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; ident(x).default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… undefined πŸ’Ž undefined πŸ’Ž 'single' βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } 🟑 'single' 'single' [Module: null prototype] { [__esModule], default: 'single', [Module] } 🟑
import() [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' 🟑 [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] }
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

single-string-export-duplicate

single-string-export-duplicate babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; x.default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; ident(x).default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… undefined πŸ’Ž undefined πŸ’Ž 'single' βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } 🟑 'single' 'single' [Module: null prototype] { [__esModule], default: 'single', [Module] } 🟑
import() [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' 🟑 [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] }
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

single-string-export-esm-reexport

single-string-export-esm-reexport babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4

webpack4-mjs
import x

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

import * as x; x.named

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
undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ…
import { __esModule as x } true undefined syntax error πŸ’Ž true undefined true true undefined
import * as x; x.__esModule true undefined undefined true undefined true true undefined
import * as x; ident(x).__esModule true βœ… undefined πŸ’Ž undefined πŸ’Ž true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ…
import * as x { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } {} 🟑 [Module: null prototype] { 'module.exports': 'single', [Module] } 🟑 { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } [Object: null prototype] {} 🟑 { [__esModule], [Module] } { [__esModule], [Module] } { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] }
import() { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } {} 🟑 [Module: null prototype] { 'module.exports': 'single', [Module] } πŸ’Ž { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } {} 🟑 { '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] } { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] }
{ __esModule } = require()

x = require(); x.__esModule

x = require(); ident(x).__esModule
true βœ… true βœ… undefined πŸ’Ž true βœ… true βœ… true βœ… true βœ… true βœ…
x = require() { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } { [__esModule] } 🟑 'single' πŸ’Ž { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule] } { [__esModule] } 🟑 { '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] } { '0': [G: 's'], '1': [G: 'i'], '2': [G: 'n'], '3': [G: 'g'], '4': [G: 'l'], '5': [G: 'e'], [__esModule], [Module] }
await import() === require() true βœ… false πŸ’Ž false πŸ’Ž true βœ… false πŸ’Ž true βœ… true βœ… true βœ…
import * as x; x === await import() true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ… true βœ…

single-string-export-getter

single-string-export-getter babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; x.default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; ident(x).default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… undefined πŸ’Ž undefined πŸ’Ž 'single' βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } 🟑 'single' 'single' [Module: null prototype] { [__esModule], default: 'single', [Module] } 🟑
import() [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' 🟑 [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] }
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

single-string-export-live

single-string-export-live babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ…
import * as x; x.default 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… undefined πŸ’Ž 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ…
import * as x; ident(x).default 'single-outdated' βœ… 'single-outdated' βœ… 'single-outdated' βœ… undefined πŸ’Ž 'single-outdated' βœ… 'single-outdated' βœ… undefined πŸ’Ž undefined πŸ’Ž 'single-outdated' βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: 'single-outdated' } String { default: 'single-outdated' } 🟑 [Module: null prototype] { default: 'single-outdated', 'module.exports': 'single-outdated', [Module] } 🟑 'single-outdated' [Object: null prototype] { default: 'single-outdated' } [Module: null prototype] { [__esModule], default: [G: 'single-outdated'], [Module] } 🟑 'single-outdated' 'single-outdated' [Module: null prototype] { [__esModule], default: 'single-outdated', [Module] } 🟑
import() [Object: null prototype] { default: 'single-outdated' } String { default: 'single-outdated' } 🟑 [Module: null prototype] { default: 'single-outdated', 'module.exports': 'single-outdated', [Module] } 🟑 'single' 🟑 [Object: null prototype] { default: 'single-outdated' } [Module: null prototype] { [__esModule], default: [G: 'single-outdated'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single-outdated'], [Module] } [Module: null prototype] { [__esModule], default: 'single-outdated', [Module] } [Module: null prototype] { [__esModule], default: 'single-outdated', [Module] }
await import() === require() false βœ… false βœ… false βœ… false βœ… false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

single-string-export-reexport

single-string-export-reexport babel

babel-js
esbuild node parcel rollup webpack webpack-js webpack4 webpack4-mjs
import x

import { default as x }

x = require()
'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; x.default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ… 'single' βœ…
import * as x; ident(x).default 'single' βœ… 'single' βœ… 'single' βœ… undefined πŸ’Ž 'single' βœ… 'single' βœ… undefined πŸ’Ž undefined πŸ’Ž 'single' βœ…
import { named as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined + errors πŸ’Ž
import * as x; x.named undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… 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 βœ… undefined βœ…
import { __esModule as x } undefined βœ… undefined βœ… syntax error πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; x.__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž true πŸ’Ž undefined βœ… undefined + errors πŸ’Ž
import * as x; ident(x).__esModule undefined βœ… undefined βœ… undefined βœ… undefined βœ… undefined βœ… true πŸ’Ž undefined βœ… undefined βœ… true πŸ’Ž
import * as x [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } 🟑 'single' 'single' [Module: null prototype] { [__esModule], default: 'single', [Module] } 🟑
import() [Object: null prototype] { default: 'single' } String { default: 'single' } 🟑 [Module: null prototype] { default: 'single', 'module.exports': 'single', [Module] } 🟑 'single' 🟑 [Object: null prototype] { default: 'single' } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: [G: 'single'], [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] } [Module: null prototype] { [__esModule], default: 'single', [Module] }
await import() === require() false βœ… false βœ… false βœ… true πŸ’Ž false βœ… false βœ… false βœ… false βœ… false βœ…
import * as x; x === await import() false βœ… false βœ… true πŸ’Ž true πŸ’Ž true πŸ’Ž false βœ… false βœ… false βœ… false βœ…

tla-esModule

tla-esModule babel

babel-js
esbuild

parcel

rollup

webpack

webpack-js

webpack4

webpack4-mjs
node
import x

import { default as x }

import { named as x }

import { __esModule as x }
require(tla esm) not allowed πŸ’Ž compilation error βœ… syntax error πŸ’Ž
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

import * as x

import()

await import() === require()

import * as x; x === await import()
require(tla esm) not allowed πŸ’Ž compilation error βœ… runtime 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()
require(tla esm) not allowed πŸ’Ž compilation error βœ… require(tla esm) not allowed πŸ’Ž

tla-esModule-esm-reexport

tla-esModule-esm-reexport babel

babel-js
esbuild

parcel

rollup

webpack

webpack-js

webpack4

webpack4-mjs
node
import x

import { default as x }

import { named as x }

import { __esModule as x }
require(tla esm) not allowed πŸ’Ž compilation error βœ… syntax error πŸ’Ž
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

import * as x

import()

await import() === require()

import * as x; x === await import()
require(tla esm) not allowed πŸ’Ž compilation error βœ… runtime 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()
require(tla esm) not allowed πŸ’Ž compilation error βœ… require(tla esm) not allowed πŸ’Ž

tla-esm

tla-esm babel

babel-js
esbuild

parcel

rollup

webpack4

webpack4-mjs
node webpack webpack-js
import x

import { default as x }

import * as x; x.default

import * as x; ident(x).default
require(tla esm) not allowed πŸ’Ž compilation error 'default' 🟑 'default' 🟑 'default' 🟑
import { named as x }

import * as x; x.named

import * as x; ident(x).named
require(tla esm) not allowed πŸ’Ž compilation error 'named' 🟑 'named' 🟑 'named' 🟑
import { __esModule as x } require(tla esm) not allowed πŸ’Ž compilation error syntax error πŸ’Ž true + errors πŸ’Ž true + warnings πŸ’Ž
import * as x; x.__esModule require(tla esm) not allowed πŸ’Ž compilation error undefined πŸ’Ž true + errors πŸ’Ž true + warnings πŸ’Ž
import * as x; ident(x).__esModule require(tla esm) not allowed πŸ’Ž compilation error undefined πŸ’Ž true πŸ’Ž true πŸ’Ž
import * as x

import()
require(tla esm) not allowed πŸ’Ž compilation error [Module: null prototype] { default, named, [Module] } πŸ’Ž { [__esModule], default: [G], named: [G], [Module] } πŸ’Ž { [__esModule], default: [G], named: [G], [Module] } πŸ’Ž
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
require(tla esm) not allowed 🟑 compilation error require(tla esm) not allowed 🟑 undefined πŸ’Ž undefined πŸ’Ž
x = require() require(tla esm) not allowed 🟑 compilation error require(tla esm) not allowed 🟑 Promise { { [__esModule], default: [G], named: [G], [Module] }, Symbol(webpack exports): { [__esModule], default: [G], named: [G], [Module] }, Symbol(webpack queues): { [Function (anonymous)] [length]: 1, [name]: '' } } πŸ’Ž Promise { { [__esModule], default: [G], named: [G], [Module] }, Symbol(webpack exports): { [__esModule], default: [G], named: [G], [Module] }, Symbol(webpack queues): { [Function (anonymous)] [length]: 1, [name]: '' } } πŸ’Ž
await import() === require() require(tla esm) not allowed 🟑 compilation error require(tla esm) not allowed 🟑 false πŸ’Ž false πŸ’Ž
import * as x; x === await import() require(tla esm) not allowed πŸ’Ž compilation error true 🟑 true 🟑 true 🟑

tla-esm-esm-reexport

tla-esm-esm-reexport babel

babel-js
esbuild

parcel

rollup

webpack4

webpack4-mjs
node webpack webpack-js
import x

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

import * as x; x.named

import * as x; ident(x).named
runtime error πŸ’Ž compilation error 'named' 🟑 'named' 🟑 'named' 🟑
import { __esModule as x } runtime error πŸ’Ž compilation error syntax error πŸ’Ž true + errors πŸ’Ž true + warnings πŸ’Ž
import * as x; x.__esModule runtime error πŸ’Ž compilation error undefined πŸ’Ž true + errors πŸ’Ž true + warnings πŸ’Ž
import * as x; ident(x).__esModule runtime error πŸ’Ž compilation error undefined πŸ’Ž true πŸ’Ž true πŸ’Ž
import * as x

import()
runtime error πŸ’Ž compilation error [Module: null prototype] { named, [Module] } πŸ’Ž { [__esModule], named: [G], [Module] } πŸ’Ž { [__esModule], named: [G], [Module] } πŸ’Ž
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
runtime error πŸ’Ž compilation error require(tla esm) not allowed πŸ’Ž undefined πŸ’Ž undefined πŸ’Ž
x = require() runtime error πŸ’Ž compilation error require(tla esm) not allowed πŸ’Ž Promise { { [__esModule], named: [G], [Module] }, Symbol(webpack exports): { [__esModule], named: [G], [Module] }, Symbol(webpack queues): { [Function (anonymous)] [length]: 1, [name]: '' } } πŸ’Ž Promise { { [__esModule], named: [G], [Module] }, Symbol(webpack exports): { [__esModule], named: [G], [Module] }, Symbol(webpack queues): { [Function (anonymous)] [length]: 1, [name]: '' } } πŸ’Ž
await import() === require() runtime error πŸ’Ž compilation error require(tla esm) not allowed πŸ’Ž false πŸ’Ž false πŸ’Ž
import * as x; x === await import() runtime error πŸ’Ž compilation error true 🟑 true 🟑 true 🟑