Actually there are a lot of cases to consider when using import(). But let’s start with few naming hints: Source: the module containing the import() expression Target: the module referenced by the request in the import() expression non-ESM: a CommonJs or AMD module not setting __esModule: true transpiled-ESM: a CommonJS module setting __esModule: true because it was transpiled from ESM ESM: a norm