Package Exports
- babel-preset-expo-modern
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (babel-preset-expo-modern) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
babel-preset-expo-modern
Babel preset for Expo that won't transpile all the way back to ES5
Using the default expo/metro preset for Babel will yield you code that's pretty portable,
but uses more transforms than are strictly necessary. Modern browsers support destructuring,
computed properties, ES6 classes, arrow functions, for-of, and a slew of other features that
are transpiled away by metro-react-native-babel-preset
. Simply by not doing that, we can
emit better source maps and cleaner code for debugging.
Included transforms
These syntax elements will be transpiled away
- Expo vector icons transform
- Flow syntax
- Decorators
- Class properties
- Nullish coalescing
- Optional chaining
- Optional catch binding
- Dynamic import
- Export default from
- JSX
- JSX sourcemap
- TypeScript
- (optionally) Import/export => CommonJS
Removed transforms (present in metro)
Use metro/expo preset if you use these syntax elements AND your target browser doesn't support them.
- Block scoping
- Computed properties
- Destructuring
- Integer literals
- Rest/default parameters
- Shorthand properties
- Sticky regex
- Unicode regex
- Arrow functions
- ES6 classes
- For-of
- Spread
- Template literals
- Exponentiation operator
- Object.assign
- Object rest/spread
- Symbol members