A package.json export/import condition a module loads under, via ModuleSpec's
environments — 'browser', 'tauri', 'node' and 'workerd' in this repo.
Deliberately an open string rather than a union: conditions are defined by whichever build tool
resolves the package, so the framework has no business enumerating them (a consumer targeting
deno, electron, or a private condition is equally valid).
Every condition is treated alike: the list names each runtime the module loads under, so a browser
module that should also reach the desktop app names 'tauri' too. Omitting environments means
the module loads under every condition the plugin names.
The annotation must be a literal array at the authoring site: barrel generation reads it
statically (variants are emitted per condition, since bundlers follow lazy loaders), so a
computed value would be invisible to the generator.
A package.json export/import condition a module loads under, via ModuleSpec's
environments—'browser','tauri','node'and'workerd'in this repo.Deliberately an open string rather than a union: conditions are defined by whichever build tool resolves the package, so the framework has no business enumerating them (a consumer targeting
deno,electron, or a private condition is equally valid).Every condition is treated alike: the list names each runtime the module loads under, so a browser module that should also reach the desktop app names
'tauri'too. Omittingenvironmentsmeans the module loads under every condition the plugin names.The annotation must be a literal array at the authoring site: barrel generation reads it statically (variants are emitted per condition, since bundlers follow lazy loaders), so a computed value would be invisible to the generator.