Editions
Search…
⌃K
Links

# Alternative Approaches

Here is a precise comparison between the alternative approaches that have been practised over the years.

## Comparison Table

 Publishing Legacy Code Publishing Modern Code Publishing Compiled Code Publishing Editions ​ Published source code Yes Yes No Yes Published compiled code No No Yes Yes Source and compiled code is published No No Yes, however is difficult and non-standardised Yes Producers can make use of modern features (e.g. esnext, babel) No Yes, however at the cost of environments that don’t support those features Yes Yes Consumers can make use of modern features (e.g. es modules, flow type) No Yes, however at the cost of consumers that don’t support those features Yes, however is difficult and non-standardised Yes Consumption always runs latest compatible code No, legacy code always used, even on modern environments No, modern code may not be compatible with legacy environments Yes, however is difficult and non-standardised Yes, loaders can automatically load appropriate edition for target environment Legacy bloat consumed on modern environments Yes No No, however is difficult and non-standardised No Modern features could break legacy consumption No Yes No No Fixing legacy consumption breaks is easy No, likely requires manual code changes or polyfill No, likely requires code rewrite or compilation Yes, change is a compiler flag Yes, change is a compiler flag Consumers informed about this Yes, however is difficult and non-standardised Yes, however is difficult and non-standardised Yes, however is difficult and non-standardised Yes, renderers automatically inform consumers of their options

### ​

Last modified 4yr ago