Due to import() causing evaluation getting the namespaces of modules can cause double init since the loader module cache != the app module cache and can cause out of order evaluation.
A nasty intentional runtime error with a nested cycle could let you get a hold of a module namespace without executing it potentially / sadly.
// inspector
import 'will-explode';
import * as ns from 'to-inspect';
export function keys() {
return Object.keys(ns);
}
// will-explode
import {keys} from 'inspector';
throw keys();
Due to
import()
causing evaluation getting the namespaces of modules can cause double init since the loader module cache != the app module cache and can cause out of order evaluation.A nasty intentional runtime error with a nested cycle could let you get a hold of a module namespace without executing it potentially / sadly.