This project is forked from sokra/interop-test with the following changes:
- Many test cases / exporting modules removed
- TypeScript file extensions tested
- package.json
"type": "module"
tested - Every test case is tested against every importing file variant
- Every runtime result is diffed against every other
- Added meta-analysis to answer high-level questions
- Added Bun, Parcel, Vite
- Meta-analysis
- Results by runtime
- node 20.3.1
- bun 1.0.0
- babel 7.22.17
- webpack 5.88.2
- rollup 3.29.0
- esbuild 0.19.2
- parcel 2.0.0-nightly.1312
- vite 4.4.9
- Results by exporting module
- Results by import test case
- Differences
In Node, a default import of a CommonJS module always links to the module.exports
object. In other words,
a CJS module imported from ESM looks like [Module: null prototype] { default: (module.exports) }
. This is
sometimes called “synthesizing” a default export. Traditionally, bundlers and ESM-to-CJS transpilers have instead
linked default imports to the module.exports.default
property when there is also an exports.__esModule
property (indicating that the module was transpiled from ESM). In other words, they selectively disable default
export synthesis, whereas Node always enables it. This creates an inconsistency between how some imports behave
in Node and how they behave in bundlers. Consequently, esbuild and Webpack adopt Node’s behavior and always
synthesize default exports in files that Node would recognize as ESM—that is, files with an .mjs
extension
or "type": "module"
in package.json
. (So... they selectively disable their selective disabling of default
export synthesis?)
This practice is Probably A Good Idea, but if it’s applied based on file extensions, it must be done for the equivalent TypeScript file extensions as well in order for TypeScript to reason about the behavior. My priorities are ordered as follows:
- Consistency between JS and TS variants
- Consistency between all bundlers (lol)
- Default export synthesis for CJS modules imported from
.mjs
,.mts
, and"type": "module"
-scoped.js
and.ts
files for compatibility with Node - No default export synthesis for CJS modules with
__esModule
when imported from files that are not.mjs
,.mts
, or"type": "module"
-scoped.js
and.ts
files
The following table summarizes data that can be found in the default-export-esModule.js table, and grades each bundler’s behavior against these priorities.
Legend | |
---|---|
✅ / ❌ | Satisfies / violates priority (3): Default synthesis in Node ESM files |
đź‘Ť / đź‘Ž | Satisfies / violates priority (4): __esModule disables synthesis in non-Node-ESM files |
âť“ | An error or totally unexpected behavior prohibits analysis |
đź’™ | Satisfies priority (1): TS consistency |
🌟 | Perfect score |
mjs | js-module | mts | ts-module | js | ts | Grade | |
---|---|---|---|---|---|---|---|
bun | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | 👍 Not synthesized | 👍 Not synthesized | 💙 |
babel | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | 👍 Not synthesized | 👍 Not synthesized | 💙 |
webpack | ✅ Synthesized | ✅ Synthesized | ❌ Not synthesized | ❌ Not synthesized | 👍 Not synthesized | 👍 Not synthesized | |
rollup | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | 👍 Not synthesized | 👍 Not synthesized | 💙 |
esbuild | ✅ Synthesized | ✅ Synthesized | ✅ Synthesized | ✅ Synthesized | 👍 Not synthesized | 👍 Not synthesized | 💙 🌟 |
parcel | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | 👍 Not synthesized | 👍 Not synthesized | 💙 |
vite | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | ❌ Not synthesized | 👍 Not synthesized | 👍 Not synthesized | 💙 |
Versions:
node (mjs) | import x import().default |
x = require() await import() === require() |
import * as x; x === await import() |
---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
runtime error | true |
default-export-esm.js tla-esModule.js tla-esm.js |
syntax error | runtime error | syntax error |
default-export-esm.mjs tla-esm.mjs |
'default' |
runtime error | true |
default-export.js | { default } |
runtime error | true |
single-object-export.js | { named } |
runtime error | true |
single-object-with-default-export.js | { named, default } |
runtime error | true |
Versions:
node (js) | import x import().default import * as x; x === await import() |
x = require() |
await import() === require() |
---|---|---|---|
default-export-esModule.js | syntax error | { [__esModule], default } |
false |
default-export-esm.js tla-esModule.js tla-esm.js |
syntax error | syntax error | syntax error |
default-export-esm.mjs tla-esm.mjs |
syntax error | require(esm) not allowed | require(esm) not allowed |
default-export.js | syntax error | { default } |
false |
single-object-export.js | syntax error | { named } |
false |
single-object-with-default-export.js | syntax error | { named, default } |
false |
Versions:
node (js-module) | import x import().default |
x = require() await import() === require() |
import * as x; x === await import() |
---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
runtime error | true |
default-export-esm.js tla-esModule.js tla-esm.js |
syntax error | runtime error | syntax error |
default-export-esm.mjs tla-esm.mjs |
'default' |
runtime error | true |
default-export.js | { default } |
runtime error | true |
single-object-export.js | { named } |
runtime error | true |
single-object-with-default-export.js | { named, default } |
runtime error | true |
Versions:
bun (mjs) | import x |
import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|---|
default-export-esModule.js | 'default' |
'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule] } |
false |
true |
default-export.js | { default } |
{ default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
{ named, default } |
false |
true |
tla-esModule.js | syntax error | runtime error | syntax error | runtime error | runtime error |
tla-esm.js tla-esm.mjs |
'default' |
'default' |
type error | false |
true |
Versions:
bun (js) | import x |
import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|---|
default-export-esModule.js | 'default' |
'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule] } |
false |
true |
default-export.js | { default } |
{ default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
{ named, default } |
false |
true |
tla-esModule.js | syntax error | runtime error | syntax error | runtime error | runtime error |
tla-esm.js tla-esm.mjs |
'default' |
'default' |
type error | false |
true |
Versions:
bun (js-module) | import x |
import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|---|
default-export-esModule.js | 'default' |
'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule] } |
false |
true |
default-export.js | { default } |
{ default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
{ named, default } |
false |
true |
tla-esModule.js | syntax error | runtime error | syntax error | runtime error | runtime error |
tla-esm.js tla-esm.mjs |
'default' |
'default' |
type error | false |
true |
Versions:
bun (mts) | import x |
import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|---|
default-export-esModule.js | 'default' |
'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule] } |
false |
true |
default-export.js | { default } |
{ default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
{ named, default } |
false |
true |
tla-esModule.js | syntax error | runtime error | syntax error | runtime error | runtime error |
tla-esm.js tla-esm.mjs |
'default' |
'default' |
type error | false |
true |
Versions:
bun (ts) | import x |
import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|---|
default-export-esModule.js | 'default' |
'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule] } |
false |
true |
default-export.js | { default } |
{ default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
{ named, default } |
false |
true |
tla-esModule.js | syntax error | runtime error | syntax error | runtime error | runtime error |
tla-esm.js tla-esm.mjs |
'default' |
'default' |
type error | false |
true |
Versions:
bun (ts-module) | import x |
import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|---|
default-export-esModule.js | 'default' |
'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule] } |
false |
true |
default-export.js | { default } |
{ default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
{ named, default } |
false |
true |
tla-esModule.js | syntax error | runtime error | syntax error | runtime error | runtime error |
tla-esm.js tla-esm.mjs |
'default' |
'default' |
type error | false |
true |
Versions:
- @babel/[email protected]
- @babel/[email protected]
- @babel/[email protected]
- [email protected]
babel (mjs) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
Versions:
- @babel/[email protected]
- @babel/[email protected]
- @babel/[email protected]
- [email protected]
babel (js) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
Versions:
- @babel/[email protected]
- @babel/[email protected]
- @babel/[email protected]
- [email protected]
babel (js-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
Versions:
- @babel/[email protected]
- @babel/[email protected]
- @babel/[email protected]
- [email protected]
babel (mts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
Versions:
- @babel/[email protected]
- @babel/[email protected]
- @babel/[email protected]
- [email protected]
babel (ts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
Versions:
- @babel/[email protected]
- @babel/[email protected]
- @babel/[email protected]
- [email protected]
babel (ts-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
Versions:
webpack (mjs) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
{ [__esModule], default } |
false |
false |
default-export-esm.js tla-esm.js |
'default' |
syntax error | syntax error | true |
default-export-esm.mjs tla-esm.mjs |
'default' |
require(esm) not allowed | require(esm) not allowed | true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js | compilation error | syntax error | compilation error | compilation error |
Versions:
webpack (js) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G], [Module] } |
true |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js | compilation error | compilation error | compilation error | compilation error |
tla-esm.js tla-esm.mjs |
'default' |
Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
false |
true |
Versions:
webpack (js-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
{ [__esModule], default } |
false |
false |
default-export-esm.js tla-esm.js |
'default' |
syntax error | syntax error | true |
default-export-esm.mjs tla-esm.mjs |
'default' |
require(esm) not allowed | require(esm) not allowed | true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js | compilation error | syntax error | compilation error | compilation error |
Versions:
webpack (mts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G], [Module] } |
true |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js | compilation error | compilation error | compilation error | compilation error |
tla-esm.js tla-esm.mjs |
'default' |
Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
false |
true |
Versions:
webpack (ts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G], [Module] } |
true |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js | compilation error | compilation error | compilation error | compilation error |
tla-esm.js tla-esm.mjs |
'default' |
Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
false |
true |
Versions:
webpack (ts-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
true |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G], [Module] } |
true |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js | compilation error | compilation error | compilation error | compilation error |
tla-esm.js tla-esm.mjs |
'default' |
Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
false |
true |
Versions:
- @rollup/[email protected]
- [email protected]
rollup (mjs) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js | 'default' |
syntax error | syntax error | true |
default-export-esm.mjs | 'default' |
require(esm) not allowed | require(esm) not allowed | true |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
tla-esModule.js tla-esm.js |
compilation error | syntax error | compilation error | compilation error |
tla-esm.mjs | compilation error | require(esm) not allowed | compilation error | compilation error |
Versions:
- @rollup/[email protected]
- [email protected]
rollup (js) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
- @rollup/[email protected]
- [email protected]
rollup (js-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
- @rollup/[email protected]
- @rollup/[email protected]
- [email protected]
- [email protected]
- [email protected]
rollup (mts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js | 'default' |
syntax error | syntax error | true |
default-export-esm.mjs | 'default' |
require(esm) not allowed | require(esm) not allowed | true |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
tla-esModule.js tla-esm.js |
compilation error | syntax error | compilation error | compilation error |
tla-esm.mjs | compilation error | require(esm) not allowed | compilation error | compilation error |
Versions:
- @rollup/[email protected]
- @rollup/[email protected]
- [email protected]
- [email protected]
- [email protected]
rollup (ts) | import x |
import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|---|
default-export-esModule.js | 'default' |
'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js | syntax error | 'default' |
syntax error | syntax error | syntax error |
default-export-esm.mjs | require(esm) not allowed | 'default' |
require(esm) not allowed | require(esm) not allowed | require(esm) not allowed |
default-export.js | { default } |
{ default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
{ named, default } |
false |
false |
tla-esModule.js tla-esm.js |
syntax error | compilation error | syntax error | compilation error | compilation error |
tla-esm.mjs | require(esm) not allowed | compilation error | require(esm) not allowed | compilation error | compilation error |
Versions:
- @rollup/[email protected]
- @rollup/[email protected]
- [email protected]
- [email protected]
- [email protected]
rollup (ts-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
false |
true |
default-export-esm.js | 'default' |
syntax error | syntax error | true |
default-export-esm.mjs | 'default' |
require(esm) not allowed | require(esm) not allowed | true |
default-export.js | { default } |
{ default } |
false |
true |
single-object-export.js | { named } |
{ named } |
false |
true |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
true |
tla-esModule.js tla-esm.js |
compilation error | syntax error | compilation error | compilation error |
tla-esm.mjs | compilation error | require(esm) not allowed | compilation error | compilation error |
Versions:
esbuild (mjs) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
{ [__esModule], default } |
false |
false |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
esbuild (js) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
false |
false |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
esbuild (js-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
{ [__esModule], default } |
false |
false |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
esbuild (mts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
{ [__esModule], default } |
false |
false |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
esbuild (ts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | 'default' |
{ [__esModule], default } |
false |
false |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
esbuild (ts-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js | { [__esModule], default } |
{ [__esModule], default } |
false |
false |
default-export-esm.js default-export-esm.mjs |
'default' |
{ [__esModule], default: [G] } |
false |
true |
default-export.js | { default } |
{ default } |
false |
false |
single-object-export.js | { named } |
{ named } |
false |
false |
single-object-with-default-export.js | { named, default } |
{ named, default } |
false |
false |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | compilation error | compilation error | compilation error |
Versions:
- @parcel/[email protected]
- @parcel/[email protected]
parcel (mjs) | import x |
import().default |
x = require() |
await import() === require() import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule], default } |
true |
default-export.js | { default } |
'default' |
{ default } |
true |
single-object-export.js | { named } |
undefined |
{ named } |
true |
single-object-with-default-export.js | { named, default } |
'default' |
{ named, default } |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
Versions:
- @parcel/[email protected]
- @parcel/[email protected]
parcel (js) | import x |
import().default |
x = require() |
await import() === require() import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule], default } |
true |
default-export.js | { default } |
'default' |
{ default } |
true |
single-object-export.js | { named } |
undefined |
{ named } |
true |
single-object-with-default-export.js | { named, default } |
'default' |
{ named, default } |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
Versions:
- @parcel/[email protected]
- @parcel/[email protected]
parcel (js-module) | import x |
import().default |
x = require() |
await import() === require() import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule], default } |
true |
default-export.js | { default } |
'default' |
{ default } |
true |
single-object-export.js | { named } |
undefined |
{ named } |
true |
single-object-with-default-export.js | { named, default } |
'default' |
{ named, default } |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
Versions:
- @parcel/[email protected]
- @parcel/[email protected]
parcel (mts) | import x |
import().default |
x = require() |
await import() === require() import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule], default } |
true |
default-export.js | { default } |
'default' |
{ default } |
true |
single-object-export.js | { named } |
undefined |
{ named } |
true |
single-object-with-default-export.js | { named, default } |
'default' |
{ named, default } |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
Versions:
- @parcel/[email protected]
- @parcel/[email protected]
parcel (ts) | import x |
import().default |
x = require() |
await import() === require() import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule], default } |
true |
default-export.js | { default } |
'default' |
{ default } |
true |
single-object-export.js | { named } |
undefined |
{ named } |
true |
single-object-with-default-export.js | { named, default } |
'default' |
{ named, default } |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
Versions:
- @parcel/[email protected]
- @parcel/[email protected]
parcel (ts-module) | import x |
import().default |
x = require() |
await import() === require() import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
'default' |
{ [__esModule], default } |
true |
default-export.js | { default } |
'default' |
{ default } |
true |
single-object-export.js | { named } |
undefined |
{ named } |
true |
single-object-with-default-export.js | { named, default } |
'default' |
{ named, default } |
true |
tla-esModule.js tla-esm.js tla-esm.mjs |
syntax error | syntax error | syntax error | syntax error |
Versions:
vite (mjs) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
not fully bundled | not fully bundled | true |
default-export.js | { default } |
not fully bundled | not fully bundled | true |
single-object-export.js | { named } |
not fully bundled | not fully bundled | true |
single-object-with-default-export.js | { named, default } |
not fully bundled | not fully bundled | true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | not fully bundled | compilation error | compilation error |
Versions:
vite (js) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
not fully bundled | not fully bundled | true |
default-export.js | { default } |
not fully bundled | not fully bundled | true |
single-object-export.js | { named } |
not fully bundled | not fully bundled | true |
single-object-with-default-export.js | { named, default } |
not fully bundled | not fully bundled | true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | not fully bundled | compilation error | compilation error |
Versions:
vite (js-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
not fully bundled | not fully bundled | true |
default-export.js | { default } |
not fully bundled | not fully bundled | true |
single-object-export.js | { named } |
not fully bundled | not fully bundled | true |
single-object-with-default-export.js | { named, default } |
not fully bundled | not fully bundled | true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | not fully bundled | compilation error | compilation error |
Versions:
vite (mts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
not fully bundled | not fully bundled | true |
default-export.js | { default } |
not fully bundled | not fully bundled | true |
single-object-export.js | { named } |
not fully bundled | not fully bundled | true |
single-object-with-default-export.js | { named, default } |
not fully bundled | not fully bundled | true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | not fully bundled | compilation error | compilation error |
Versions:
vite (ts) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
not fully bundled | not fully bundled | true |
default-export.js | { default } |
not fully bundled | not fully bundled | true |
single-object-export.js | { named } |
not fully bundled | not fully bundled | true |
single-object-with-default-export.js | { named, default } |
not fully bundled | not fully bundled | true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | not fully bundled | compilation error | compilation error |
Versions:
vite (ts-module) | import x import().default |
x = require() |
await import() === require() |
import * as x; x === await import() |
---|---|---|---|---|
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
'default' |
not fully bundled | not fully bundled | true |
default-export.js | { default } |
not fully bundled | not fully bundled | true |
single-object-export.js | { named } |
not fully bundled | not fully bundled | true |
single-object-with-default-export.js | { named, default } |
not fully bundled | not fully bundled | true |
tla-esModule.js tla-esm.js tla-esm.mjs |
compilation error | not fully bundled | compilation error | compilation error |
exports.default = "default";
default-export.js | node (mjs, js-module) | node (js) | bun babel rollup (mjs, js, js-module, mts, ts-module) |
webpack rollup (ts) esbuild |
parcel | vite |
---|---|---|---|---|---|---|
import x |
{ default } |
syntax error | { default } |
{ default } |
{ default } |
{ default } |
import().default |
{ default } |
syntax error | { default } |
{ default } |
'default' |
{ default } |
x = require() |
runtime error | { default } |
{ default } |
{ default } |
{ default } |
not fully bundled |
await import() === require() |
runtime error | false |
false |
false |
true |
not fully bundled |
import * as x; x === await import() |
true |
syntax error | true |
false |
true |
true |
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = "default";
default-export-esModule.js | node (mjs, js-module) | node (js) | bun rollup |
babel webpack (js, mts, ts, ts-module) parcel |
webpack (mjs, js-module) esbuild (mjs, js-module, mts, ts-module) |
esbuild (js, ts) | vite |
---|---|---|---|---|---|---|---|
import x import().default |
{ [__esModule], default } |
syntax error | 'default' |
'default' |
{ [__esModule], default } |
'default' |
'default' |
x = require() |
runtime error | { [__esModule], default } |
{ [__esModule], default } |
{ [__esModule], default } |
{ [__esModule], default } |
{ [__esModule], default } |
not fully bundled |
await import() === require() |
runtime error | false |
false |
true |
false |
false |
not fully bundled |
import * as x; x === await import() |
true |
syntax error | true |
true |
false |
false |
true |
export default "default";
default-export-esm.js | node (mjs, js-module) | node (js) babel |
bun | webpack (mjs, js-module) rollup (mjs, mts, ts-module) |
webpack (js, mts, ts, ts-module) | rollup (js, js-module) esbuild |
rollup (ts) | parcel | vite |
---|---|---|---|---|---|---|---|---|---|
import x |
syntax error | syntax error | 'default' |
'default' |
'default' |
'default' |
syntax error | 'default' |
'default' |
import().default |
syntax error | syntax error | 'default' |
'default' |
'default' |
'default' |
'default' |
'default' |
'default' |
x = require() |
runtime error | syntax error | { [__esModule] } |
syntax error | { [__esModule], default: [G], [Module] } |
{ [__esModule], default: [G] } |
syntax error | { [__esModule], default } |
not fully bundled |
await import() === require() |
runtime error | syntax error | false |
syntax error | true |
false |
syntax error | true |
not fully bundled |
import * as x; x === await import() |
syntax error | syntax error | true |
true |
true |
true |
syntax error | true |
true |
export default "default";
default-export-esm.mjs | node (mjs, js-module) | node (js) | bun | babel | webpack (mjs, js-module) rollup (mjs, mts, ts-module) |
webpack (js, mts, ts, ts-module) | rollup (js, js-module) esbuild |
rollup (ts) | parcel | vite |
---|---|---|---|---|---|---|---|---|---|---|
import x |
'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
'default' |
require(esm) not allowed | 'default' |
'default' |
import().default |
'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
'default' |
'default' |
'default' |
'default' |
x = require() |
runtime error | require(esm) not allowed | { [__esModule] } |
syntax error | require(esm) not allowed | { [__esModule], default: [G], [Module] } |
{ [__esModule], default: [G] } |
require(esm) not allowed | { [__esModule], default } |
not fully bundled |
await import() === require() |
runtime error | require(esm) not allowed | false |
syntax error | require(esm) not allowed | true |
false |
require(esm) not allowed | true |
not fully bundled |
import * as x; x === await import() |
true |
syntax error | true |
syntax error | true |
true |
true |
require(esm) not allowed | true |
true |
module.exports = {
named: "named",
};
single-object-export.js | node (mjs, js-module) | node (js) | bun babel rollup (mjs, js, js-module, mts, ts-module) |
webpack rollup (ts) esbuild |
parcel | vite |
---|---|---|---|---|---|---|
import x |
{ named } |
syntax error | { named } |
{ named } |
{ named } |
{ named } |
import().default |
{ named } |
syntax error | { named } |
{ named } |
undefined |
{ named } |
x = require() |
runtime error | { named } |
{ named } |
{ named } |
{ named } |
not fully bundled |
await import() === require() |
runtime error | false |
false |
false |
true |
not fully bundled |
import * as x; x === await import() |
true |
syntax error | true |
false |
true |
true |
module.exports = {
named: "named",
default: "default",
};
single-object-with-default-export.js | node (mjs, js-module) | node (js) | bun babel rollup (mjs, js, js-module, mts, ts-module) |
webpack rollup (ts) esbuild |
parcel | vite |
---|---|---|---|---|---|---|
import x |
{ named, default } |
syntax error | { named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
import().default |
{ named, default } |
syntax error | { named, default } |
{ named, default } |
'default' |
{ named, default } |
x = require() |
runtime error | { named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
not fully bundled |
await import() === require() |
runtime error | false |
false |
false |
true |
not fully bundled |
import * as x; x === await import() |
true |
syntax error | true |
false |
true |
true |
Object.defineProperty(exports, "__esModule", { value: true });
await Promise.resolve();
exports.named = "named";
exports.default = "default";
tla-esModule.js | node (mjs, js-module) | node (js) babel parcel |
bun | webpack (mjs, js-module) rollup (mjs, mts, ts-module) |
webpack (js, mts, ts, ts-module) rollup (js, js-module) esbuild |
rollup (ts) | vite |
---|---|---|---|---|---|---|---|
import x |
syntax error | syntax error | syntax error | compilation error | compilation error | syntax error | compilation error |
import().default import * as x; x === await import() |
syntax error | syntax error | runtime error | compilation error | compilation error | compilation error | compilation error |
x = require() |
runtime error | syntax error | syntax error | syntax error | compilation error | syntax error | not fully bundled |
await import() === require() |
runtime error | syntax error | runtime error | compilation error | compilation error | compilation error | compilation error |
await Promise.resolve();
export const named = "named";
export default "default";
tla-esm.js | node (mjs, js-module) | node (js) babel parcel |
bun | webpack (mjs, js-module) | webpack (js, mts, ts, ts-module) | rollup (mjs, mts, ts-module) | rollup (js, js-module) esbuild |
rollup (ts) | vite |
---|---|---|---|---|---|---|---|---|---|
import x |
syntax error | syntax error | 'default' |
'default' |
'default' |
compilation error | compilation error | syntax error | compilation error |
import().default |
syntax error | syntax error | 'default' |
'default' |
'default' |
compilation error | compilation error | compilation error | compilation error |
x = require() |
runtime error | syntax error | type error | syntax error | Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
syntax error | compilation error | syntax error | not fully bundled |
await import() === require() |
runtime error | syntax error | false |
syntax error | false |
compilation error | compilation error | compilation error | compilation error |
import * as x; x === await import() |
syntax error | syntax error | true |
true |
true |
compilation error | compilation error | compilation error | compilation error |
await Promise.resolve();
export const named = "named";
export default "default";
tla-esm.mjs | node (mjs, js-module) | node (js) | bun | babel parcel |
webpack (mjs, js-module) | webpack (js, mts, ts, ts-module) | rollup (mjs, mts, ts-module) | rollup (js, js-module) esbuild |
rollup (ts) | vite |
---|---|---|---|---|---|---|---|---|---|---|
import x |
'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
compilation error | compilation error | require(esm) not allowed | compilation error |
import().default |
'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
compilation error | compilation error | compilation error | compilation error |
x = require() |
runtime error | require(esm) not allowed | type error | syntax error | require(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]: '' } } |
require(esm) not allowed | compilation error | require(esm) not allowed | not fully bundled |
await import() === require() |
runtime error | require(esm) not allowed | false |
syntax error | require(esm) not allowed | false |
compilation error | compilation error | compilation error | compilation error |
import * as x; x === await import() |
true |
syntax error | true |
syntax error | true |
true |
compilation error | compilation error | compilation error | compilation error |
import x |
node (mjs, js-module) | node (js) | bun | babel | webpack (mjs, js-module) | webpack (js, mts, ts, ts-module) | rollup (mjs, js, js-module, mts, ts-module) esbuild (js, ts) vite |
rollup (ts) | esbuild (mjs, js-module, mts, ts-module) | parcel |
---|---|---|---|---|---|---|---|---|---|---|
default-export.js | { default } |
syntax error | { default } |
{ default } |
{ default } |
{ default } |
{ default } |
{ default } |
{ default } |
{ default } |
default-export-esModule.js | { [__esModule], default } |
syntax error | 'default' |
'default' |
{ [__esModule], default } |
'default' |
'default' |
'default' |
{ [__esModule], default } |
'default' |
default-export-esm.js | syntax error | syntax error | 'default' |
syntax error | 'default' |
'default' |
'default' |
syntax error | 'default' |
'default' |
default-export-esm.mjs | 'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
'default' |
require(esm) not allowed | 'default' |
'default' |
single-object-export.js | { named } |
syntax error | { named } |
{ named } |
{ named } |
{ named } |
{ named } |
{ named } |
{ named } |
{ named } |
single-object-with-default-export.js | { named, default } |
syntax error | { named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
tla-esModule.js | syntax error | syntax error | syntax error | syntax error | compilation error | compilation error | compilation error | syntax error | compilation error | syntax error |
tla-esm.js | syntax error | syntax error | 'default' |
syntax error | 'default' |
'default' |
compilation error | syntax error | compilation error | syntax error |
tla-esm.mjs | 'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
compilation error | require(esm) not allowed | compilation error | syntax error |
import().default |
node (mjs, js-module) | node (js) | bun | babel | webpack (mjs, js-module) | webpack (js, mts, ts, ts-module) | rollup esbuild (js, ts) vite |
esbuild (mjs, js-module, mts, ts-module) | parcel |
---|---|---|---|---|---|---|---|---|---|
default-export.js | { default } |
syntax error | { default } |
{ default } |
{ default } |
{ default } |
{ default } |
{ default } |
'default' |
default-export-esModule.js | { [__esModule], default } |
syntax error | 'default' |
'default' |
{ [__esModule], default } |
'default' |
'default' |
{ [__esModule], default } |
'default' |
default-export-esm.js | syntax error | syntax error | 'default' |
syntax error | 'default' |
'default' |
'default' |
'default' |
'default' |
default-export-esm.mjs | 'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
'default' |
'default' |
'default' |
single-object-export.js | { named } |
syntax error | { named } |
{ named } |
{ named } |
{ named } |
{ named } |
{ named } |
undefined |
single-object-with-default-export.js | { named, default } |
syntax error | { named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
'default' |
tla-esModule.js | syntax error | syntax error | runtime error | syntax error | compilation error | compilation error | compilation error | compilation error | syntax error |
tla-esm.js | syntax error | syntax error | 'default' |
syntax error | 'default' |
'default' |
compilation error | compilation error | syntax error |
tla-esm.mjs | 'default' |
syntax error | 'default' |
syntax error | 'default' |
'default' |
compilation error | compilation error | syntax error |
x = require() |
node (mjs, js-module) | node (js) webpack (mjs, js-module) rollup (mjs, mts, ts, ts-module) |
bun | babel | webpack (js, mts, ts, ts-module) | rollup (js, js-module) esbuild |
parcel | vite |
---|---|---|---|---|---|---|---|---|
default-export.js | runtime error | { default } |
{ default } |
{ default } |
{ default } |
{ default } |
{ default } |
not fully bundled |
default-export-esModule.js | runtime error | { [__esModule], default } |
{ [__esModule], default } |
{ [__esModule], default } |
{ [__esModule], default } |
{ [__esModule], default } |
{ [__esModule], default } |
not fully bundled |
default-export-esm.js | runtime error | syntax error | { [__esModule] } |
syntax error | { [__esModule], default: [G], [Module] } |
{ [__esModule], default: [G] } |
{ [__esModule], default } |
not fully bundled |
default-export-esm.mjs | runtime error | require(esm) not allowed | { [__esModule] } |
syntax error | { [__esModule], default: [G], [Module] } |
{ [__esModule], default: [G] } |
{ [__esModule], default } |
not fully bundled |
single-object-export.js | runtime error | { named } |
{ named } |
{ named } |
{ named } |
{ named } |
{ named } |
not fully bundled |
single-object-with-default-export.js | runtime error | { named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
{ named, default } |
not fully bundled |
tla-esModule.js | runtime error | syntax error | syntax error | syntax error | compilation error | compilation error | syntax error | not fully bundled |
tla-esm.js | runtime error | syntax error | type error | syntax error | Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
compilation error | syntax error | not fully bundled |
tla-esm.mjs | runtime error | require(esm) not allowed | type error | syntax error | Promise { { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack exports)]: { [__esModule], default: [G], named: [G], [Module] }, [Symbol(webpack queues)]: { [Function (anonymous)] [length]: 1, [name]: '' } } |
compilation error | syntax error | not fully bundled |
await import() === require() |
node (mjs, js-module) | node (js) | bun | babel | webpack (mjs, js-module) | webpack (js, mts, ts, ts-module) | rollup (mjs, mts, ts, ts-module) | rollup (js, js-module) esbuild |
parcel | vite |
---|---|---|---|---|---|---|---|---|---|---|
default-export.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
false |
false |
false |
false |
false |
false |
true |
not fully bundled |
default-export-esModule.js | runtime error | false |
false |
true |
false |
true |
false |
false |
true |
not fully bundled |
default-export-esm.js | runtime error | syntax error | false |
syntax error | syntax error | true |
syntax error | false |
true |
not fully bundled |
default-export-esm.mjs | runtime error | require(esm) not allowed | false |
syntax error | require(esm) not allowed | true |
require(esm) not allowed | false |
true |
not fully bundled |
tla-esModule.js | runtime error | syntax error | runtime error | syntax error | compilation error | compilation error | compilation error | compilation error | syntax error | compilation error |
tla-esm.js | runtime error | syntax error | false |
syntax error | syntax error | false |
compilation error | compilation error | syntax error | compilation error |
tla-esm.mjs | runtime error | require(esm) not allowed | false |
syntax error | require(esm) not allowed | false |
compilation error | compilation error | syntax error | compilation error |
import * as x; x === await import() |
node (mjs, js-module) | node (js) | bun | babel | webpack (mjs, js-module) | webpack (js, mts, ts, ts-module) | rollup (mjs, js, js-module, mts, ts-module) vite |
rollup (ts) | esbuild | parcel |
---|---|---|---|---|---|---|---|---|---|---|
default-export.js single-object-export.js single-object-with-default-export.js |
true |
syntax error | true |
true |
false |
false |
true |
false |
false |
true |
default-export-esModule.js | true |
syntax error | true |
true |
false |
true |
true |
true |
false |
true |
default-export-esm.js | syntax error | syntax error | true |
syntax error | true |
true |
true |
syntax error | true |
true |
default-export-esm.mjs | true |
syntax error | true |
syntax error | true |
true |
true |
require(esm) not allowed | true |
true |
tla-esModule.js | syntax error | syntax error | runtime error | syntax error | compilation error | compilation error | compilation error | compilation error | compilation error | syntax error |
tla-esm.js | syntax error | syntax error | true |
syntax error | true |
true |
compilation error | compilation error | compilation error | syntax error |
tla-esm.mjs | true |
syntax error | true |
syntax error | true |
true |
compilation error | compilation error | compilation error | syntax error |
node (mjs) vs. node (js) | fixture | node (mjs) | node (js) |
---|---|---|---|
import x import().default |
default-export.js | { default } |
syntax error |
import x import().default |
default-export-esModule.js | { [__esModule], default } |
syntax error |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
'default' |
syntax error |
import x import().default |
single-object-export.js | { named } |
syntax error |
import x import().default |
single-object-with-default-export.js | { named, default } |
syntax error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() await import() === require() |
default-export-esm.js tla-esModule.js tla-esm.js |
runtime error | syntax error |
x = require() await import() === require() |
default-export-esm.mjs tla-esm.mjs |
runtime error | require(esm) not allowed |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.mjs |
true |
syntax error |
node (mjs) vs. bun (mjs) | fixture | node (mjs) | bun (mjs) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import().default import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() |
tla-esModule.js | runtime error | syntax error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | type error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. bun (js) | fixture | node (mjs) | bun (js) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import().default import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() |
tla-esModule.js | runtime error | syntax error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | type error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. bun (js-module) | fixture | node (mjs) | bun (js-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import().default import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() |
tla-esModule.js | runtime error | syntax error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | type error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. bun (mts) | fixture | node (mjs) | bun (mts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import().default import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() |
tla-esModule.js | runtime error | syntax error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | type error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. bun (ts) | fixture | node (mjs) | bun (ts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import().default import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() |
tla-esModule.js | runtime error | syntax error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | type error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. bun (ts-module) | fixture | node (mjs) | bun (ts-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import().default import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() |
tla-esModule.js | runtime error | syntax error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | type error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. babel (mjs) | fixture | node (mjs) | babel (mjs) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
'default' |
syntax error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() await import() === require() |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esModule.js | runtime error | true |
import * as x; x === await import() |
default-export-esm.mjs tla-esm.mjs |
true |
syntax error |
node (mjs) vs. babel (js) | fixture | node (mjs) | babel (js) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
'default' |
syntax error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() await import() === require() |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esModule.js | runtime error | true |
import * as x; x === await import() |
default-export-esm.mjs tla-esm.mjs |
true |
syntax error |
node (mjs) vs. babel (js-module) | fixture | node (mjs) | babel (js-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
'default' |
syntax error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() await import() === require() |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esModule.js | runtime error | true |
import * as x; x === await import() |
default-export-esm.mjs tla-esm.mjs |
true |
syntax error |
node (mjs) vs. babel (mts) | fixture | node (mjs) | babel (mts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
'default' |
syntax error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() await import() === require() |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esModule.js | runtime error | true |
import * as x; x === await import() |
default-export-esm.mjs tla-esm.mjs |
true |
syntax error |
node (mjs) vs. babel (ts) | fixture | node (mjs) | babel (ts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
'default' |
syntax error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() await import() === require() |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esModule.js | runtime error | true |
import * as x; x === await import() |
default-export-esm.mjs tla-esm.mjs |
true |
syntax error |
node (mjs) vs. babel (ts-module) | fixture | node (mjs) | babel (ts-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
'default' |
syntax error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() await import() === require() |
default-export-esm.js default-export-esm.mjs tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esModule.js | runtime error | true |
import * as x; x === await import() |
default-export-esm.mjs tla-esm.mjs |
true |
syntax error |
node (mjs) vs. webpack (mjs) | fixture | node (mjs) | webpack (mjs) |
---|---|---|---|
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js | syntax error | compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js tla-esModule.js tla-esm.js |
runtime error | syntax error |
x = require() await import() === require() |
default-export-esm.mjs tla-esm.mjs |
runtime error | require(esm) not allowed |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esm.js tla-esm.js |
runtime error | syntax error |
await import() === require() |
tla-esModule.js | runtime error | compilation error |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. webpack (js) | fixture | node (mjs) | webpack (js) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js | syntax error | compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G], [Module] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js | runtime error | compilation error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | 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() |
default-export.js single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
await import() === require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | true |
import * as x; x === await import() |
default-export.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. webpack (js-module) | fixture | node (mjs) | webpack (js-module) |
---|---|---|---|
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js | syntax error | compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js tla-esModule.js tla-esm.js |
runtime error | syntax error |
x = require() await import() === require() |
default-export-esm.mjs tla-esm.mjs |
runtime error | require(esm) not allowed |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esm.js tla-esm.js |
runtime error | syntax error |
await import() === require() |
tla-esModule.js | runtime error | compilation error |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. webpack (mts) | fixture | node (mjs) | webpack (mts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js | syntax error | compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G], [Module] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js | runtime error | compilation error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | 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() |
default-export.js single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
await import() === require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | true |
import * as x; x === await import() |
default-export.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. webpack (ts) | fixture | node (mjs) | webpack (ts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js | syntax error | compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G], [Module] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js | runtime error | compilation error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | 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() |
default-export.js single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
await import() === require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | true |
import * as x; x === await import() |
default-export.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. webpack (ts-module) | fixture | node (mjs) | webpack (ts-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js tla-esm.js |
syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js | syntax error | compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G], [Module] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js | runtime error | compilation error |
x = require() |
tla-esm.js tla-esm.mjs |
runtime error | 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() |
default-export.js single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
runtime error | false |
await import() === require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | true |
import * as x; x === await import() |
default-export.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js tla-esm.js |
syntax error | true |
node (mjs) vs. rollup (mjs) | fixture | node (mjs) | rollup (mjs) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js tla-esModule.js tla-esm.js |
runtime error | syntax error |
x = require() |
default-export-esm.mjs tla-esm.mjs |
runtime error | require(esm) not allowed |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esm.js | runtime error | syntax error |
await import() === require() |
default-export-esm.mjs | runtime error | require(esm) not allowed |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. rollup (js) | fixture | node (mjs) | rollup (js) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. rollup (js-module) | fixture | node (mjs) | rollup (js-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. rollup (mts) | fixture | node (mjs) | rollup (mts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js tla-esModule.js tla-esm.js |
runtime error | syntax error |
x = require() |
default-export-esm.mjs tla-esm.mjs |
runtime error | require(esm) not allowed |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esm.js | runtime error | syntax error |
await import() === require() |
default-export-esm.mjs | runtime error | require(esm) not allowed |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. rollup (ts) | fixture | node (mjs) | rollup (ts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x |
default-export-esm.mjs tla-esm.mjs |
'default' |
require(esm) not allowed |
import().default |
default-export-esm.js | syntax error | 'default' |
import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js tla-esModule.js tla-esm.js |
runtime error | syntax error |
x = require() |
default-export-esm.mjs tla-esm.mjs |
runtime error | require(esm) not allowed |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esm.js | runtime error | syntax error |
await import() === require() |
default-export-esm.mjs | runtime error | require(esm) not allowed |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.mjs | true |
require(esm) not allowed |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. rollup (ts-module) | fixture | node (mjs) | rollup (ts-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js tla-esModule.js tla-esm.js |
runtime error | syntax error |
x = require() |
default-export-esm.mjs tla-esm.mjs |
runtime error | require(esm) not allowed |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
runtime error | false |
await import() === require() |
default-export-esm.js | runtime error | syntax error |
await import() === require() |
default-export-esm.mjs | runtime error | require(esm) not allowed |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. esbuild (mjs) | fixture | node (mjs) | esbuild (mjs) |
---|---|---|---|
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. esbuild (js) | fixture | node (mjs) | esbuild (js) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. esbuild (js-module) | fixture | node (mjs) | esbuild (js-module) |
---|---|---|---|
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. esbuild (mts) | fixture | node (mjs) | esbuild (mts) |
---|---|---|---|
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. esbuild (ts) | fixture | node (mjs) | esbuild (ts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. esbuild (ts-module) | fixture | node (mjs) | esbuild (ts-module) |
---|---|---|---|
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js | runtime error | { [__esModule], default } |
x = require() |
default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default: [G] } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
true |
false |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. parcel (mjs) | fixture | node (mjs) | parcel (mjs) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default |
tla-esm.mjs | 'default' |
syntax error |
import().default |
default-export.js | { default } |
'default' |
import().default |
single-object-export.js | { named } |
undefined |
import().default |
single-object-with-default-export.js | { named, default } |
'default' |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | true |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
syntax error |
node (mjs) vs. parcel (js) | fixture | node (mjs) | parcel (js) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default |
tla-esm.mjs | 'default' |
syntax error |
import().default |
default-export.js | { default } |
'default' |
import().default |
single-object-export.js | { named } |
undefined |
import().default |
single-object-with-default-export.js | { named, default } |
'default' |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | true |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
syntax error |
node (mjs) vs. parcel (js-module) | fixture | node (mjs) | parcel (js-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default |
tla-esm.mjs | 'default' |
syntax error |
import().default |
default-export.js | { default } |
'default' |
import().default |
single-object-export.js | { named } |
undefined |
import().default |
single-object-with-default-export.js | { named, default } |
'default' |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | true |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
syntax error |
node (mjs) vs. parcel (mts) | fixture | node (mjs) | parcel (mts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default |
tla-esm.mjs | 'default' |
syntax error |
import().default |
default-export.js | { default } |
'default' |
import().default |
single-object-export.js | { named } |
undefined |
import().default |
single-object-with-default-export.js | { named, default } |
'default' |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | true |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
syntax error |
node (mjs) vs. parcel (ts) | fixture | node (mjs) | parcel (ts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default |
tla-esm.mjs | 'default' |
syntax error |
import().default |
default-export.js | { default } |
'default' |
import().default |
single-object-export.js | { named } |
undefined |
import().default |
single-object-with-default-export.js | { named, default } |
'default' |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | true |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
syntax error |
node (mjs) vs. parcel (ts-module) | fixture | node (mjs) | parcel (ts-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default |
tla-esm.mjs | 'default' |
syntax error |
import().default |
default-export.js | { default } |
'default' |
import().default |
single-object-export.js | { named } |
undefined |
import().default |
single-object-with-default-export.js | { named, default } |
'default' |
x = require() |
default-export.js | runtime error | { default } |
x = require() |
default-export-esModule.js default-export-esm.js default-export-esm.mjs |
runtime error | { [__esModule], default } |
x = require() |
single-object-export.js | runtime error | { named } |
x = require() |
single-object-with-default-export.js | runtime error | { named, default } |
x = require() await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | syntax error |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | true |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
syntax error |
node (mjs) vs. vite (mjs) | fixture | node (mjs) | vite (mjs) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | not fully bundled |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | not fully bundled |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. vite (js) | fixture | node (mjs) | vite (js) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | not fully bundled |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | not fully bundled |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. vite (js-module) | fixture | node (mjs) | vite (js-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | not fully bundled |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | not fully bundled |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. vite (mts) | fixture | node (mjs) | vite (mts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | not fully bundled |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | not fully bundled |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. vite (ts) | fixture | node (mjs) | vite (ts) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | not fully bundled |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | not fully bundled |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (mjs) vs. vite (ts-module) | fixture | node (mjs) | vite (ts-module) |
---|---|---|---|
import x import().default |
default-export-esModule.js | { [__esModule], default } |
'default' |
import x import().default |
default-export-esm.js | syntax error | 'default' |
import x import().default import * as x; x === await import() |
tla-esModule.js tla-esm.js |
syntax error | compilation error |
import x import().default |
tla-esm.mjs | 'default' |
compilation error |
x = require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | not fully bundled |
await import() === require() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js |
runtime error | not fully bundled |
await import() === require() |
tla-esModule.js tla-esm.js tla-esm.mjs |
runtime error | compilation error |
import * as x; x === await import() |
default-export-esm.js | syntax error | true |
import * as x; x === await import() |
tla-esm.mjs | true |
compilation error |
node (js) vs. node (js-module) | fixture | node (js) | node (js-module) |
---|---|---|---|
import x import().default |
default-export.js | syntax error | { default } |
import x import().default |
default-export-esModule.js | syntax error | { [__esModule], default } |
import x import().default |
default-export-esm.mjs tla-esm.mjs |
syntax error | 'default' |
import x import().default |
single-object-export.js | syntax error | { named } |
import x import().default |
single-object-with-default-export.js | syntax error | { named, default } |
x = require() |
default-export.js | { default } |
runtime error |
x = require() |
default-export-esModule.js | { [__esModule], default } |
runtime error |
x = require() await import() === require() |
default-export-esm.js tla-esModule.js tla-esm.js |
syntax error | runtime error |
x = require() await import() === require() |
default-export-esm.mjs tla-esm.mjs |
require(esm) not allowed | runtime error |
x = require() |
single-object-export.js | { named } |
runtime error |
x = require() |
single-object-with-default-export.js | { named, default } |
runtime error |
await import() === require() |
default-export.js default-export-esModule.js single-object-export.js single-object-with-default-export.js |
false |
runtime error |
import * as x; x === await import() |
default-export.js default-export-esModule.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.mjs |
syntax error | true |
node (js) vs. bun (mjs) | fixture | node (js) | bun (mjs) |
---|---|---|---|
import x import().default |
default-export.js | syntax error | { default } |
import x import().default |
default-export-esModule.js default-export-esm.js default-export-esm.mjs tla-esm.js tla-esm.mjs |
syntax error | 'default' |
import x import().default |
single-object-export.js | syntax error | { named } |
import x import().default |
single-object-with-default-export.js | syntax error | { named, default } |
import().default await import() === require() import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export-esm.js | syntax error | { [__esModule] } |
x = require() |
default-export-esm.mjs | require(esm) not allowed | { [__esModule] } |
x = require() |
tla-esm.js | syntax error | type error |
x = require() |
tla-esm.mjs | require(esm) not allowed | type error |
await import() === require() |
default-export-esm.js tla-esm.js |
syntax error | false |
await import() === require() |
default-export-esm.mjs tla-esm.mjs |
require(esm) not allowed | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
syntax error | true |
node (js) vs. bun (js) | fixture | node (js) | bun (js) |
---|---|---|---|
import x import().default |
default-export.js | syntax error | { default } |
import x import().default |
default-export-esModule.js default-export-esm.js default-export-esm.mjs tla-esm.js tla-esm.mjs |
syntax error | 'default' |
import x import().default |
single-object-export.js | syntax error | { named } |
import x import().default |
single-object-with-default-export.js | syntax error | { named, default } |
import().default await import() === require() import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export-esm.js | syntax error | { [__esModule] } |
x = require() |
default-export-esm.mjs | require(esm) not allowed | { [__esModule] } |
x = require() |
tla-esm.js | syntax error | type error |
x = require() |
tla-esm.mjs | require(esm) not allowed | type error |
await import() === require() |
default-export-esm.js tla-esm.js |
syntax error | false |
await import() === require() |
default-export-esm.mjs tla-esm.mjs |
require(esm) not allowed | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
syntax error | true |
node (js) vs. bun (js-module) | fixture | node (js) | bun (js-module) |
---|---|---|---|
import x import().default |
default-export.js | syntax error | { default } |
import x import().default |
default-export-esModule.js default-export-esm.js default-export-esm.mjs tla-esm.js tla-esm.mjs |
syntax error | 'default' |
import x import().default |
single-object-export.js | syntax error | { named } |
import x import().default |
single-object-with-default-export.js | syntax error | { named, default } |
import().default await import() === require() import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export-esm.js | syntax error | { [__esModule] } |
x = require() |
default-export-esm.mjs | require(esm) not allowed | { [__esModule] } |
x = require() |
tla-esm.js | syntax error | type error |
x = require() |
tla-esm.mjs | require(esm) not allowed | type error |
await import() === require() |
default-export-esm.js tla-esm.js |
syntax error | false |
await import() === require() |
default-export-esm.mjs tla-esm.mjs |
require(esm) not allowed | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
syntax error | true |
node (js) vs. bun (mts) | fixture | node (js) | bun (mts) |
---|---|---|---|
import x import().default |
default-export.js | syntax error | { default } |
import x import().default |
default-export-esModule.js default-export-esm.js default-export-esm.mjs tla-esm.js tla-esm.mjs |
syntax error | 'default' |
import x import().default |
single-object-export.js | syntax error | { named } |
import x import().default |
single-object-with-default-export.js | syntax error | { named, default } |
import().default await import() === require() import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export-esm.js | syntax error | { [__esModule] } |
x = require() |
default-export-esm.mjs | require(esm) not allowed | { [__esModule] } |
x = require() |
tla-esm.js | syntax error | type error |
x = require() |
tla-esm.mjs | require(esm) not allowed | type error |
await import() === require() |
default-export-esm.js tla-esm.js |
syntax error | false |
await import() === require() |
default-export-esm.mjs tla-esm.mjs |
require(esm) not allowed | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
syntax error | true |
node (js) vs. bun (ts) | fixture | node (js) | bun (ts) |
---|---|---|---|
import x import().default |
default-export.js | syntax error | { default } |
import x import().default |
default-export-esModule.js default-export-esm.js default-export-esm.mjs tla-esm.js tla-esm.mjs |
syntax error | 'default' |
import x import().default |
single-object-export.js | syntax error | { named } |
import x import().default |
single-object-with-default-export.js | syntax error | { named, default } |
import().default await import() === require() import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export-esm.js | syntax error | { [__esModule] } |
x = require() |
default-export-esm.mjs | require(esm) not allowed | { [__esModule] } |
x = require() |
tla-esm.js | syntax error | type error |
x = require() |
tla-esm.mjs | require(esm) not allowed | type error |
await import() === require() |
default-export-esm.js tla-esm.js |
syntax error | false |
await import() === require() |
default-export-esm.mjs tla-esm.mjs |
require(esm) not allowed | false |
import * as x; x === await import() |
default-export.js default-export-esModule.js default-export-esm.js default-export-esm.mjs single-object-export.js single-object-with-default-export.js tla-esm.js tla-esm.mjs |
syntax error | true |
node (js) vs. bun (ts-module) | fixture | node (js) | bun (ts-module) |
---|---|---|---|
import x import().default |
default-export.js | syntax error | { default } |
import x import().default |
default-export-esModule.js default-export-esm.js default-export-esm.mjs tla-esm.js tla-esm.mjs |
syntax error | 'default' |
import x import().default |
single-object-export.js | syntax error | { named } |
import x import().default |
single-object-with-default-export.js | syntax error | { named, default } |
import().default await import() === require() import * as x; x === await import() |
tla-esModule.js | syntax error | runtime error |
x = require() |
default-export-esm.js | syntax error | { [__esModule] } |
x = require() |
default-export-esm.mjs | require(esm) not allowed | { [__esModule] } |
x = require() |
tla-esm.js | syntax error | type error |
x = require() |
tla-esm.mjs | require(esm) not allowed | type error |
await import() === require() |
default-export-esm.js tla-esm.js |
syntax error |