jsEsmExports top-level property

ConfigVariable<Set<String>?> jsEsmExports
final

A list of member names to export from ESM library entrypoints, since ESM exports must be explicitly listed in each wrapper library.

ESM library entrypoints will be generated if and only if this is set.

Warning: When JS code is loaded as ESM in a browser, it automatically runs in strict mode. Dart has an outstanding bug where primitive types such as strings thrown by JS will cause Dart code that catches them to crash in strict mode specifically. To work around this bug, wrap all calls to JS callbacks in wrapJSExceptions.

If this is set, jsModuleMainLibrary must also be set.

Implementation

final jsEsmExports = InternalConfigVariable.value<Set<String>?>(null,
    freeze: (set) => set == null ? null : Set.unmodifiable(set));