haul
haul copied to clipboard
Some libraries from node_modules (or every) do not compiled by babel
Environment
"@haul-bundler/babel-preset-react-native": "^0.16.0", "@haul-bundler/preset-0.60": "^0.17.0", "@haul-bundler/cli": "^0.17.0", "@haul-bundler/core": "^0.17.0", "react": "16.9.0", "react-native": "0.61.5",
Description
Looks like haul babel presset ignores node_modules, but some libraries which need to be compiled,like rn-viewpager.
Bundle crashes on class static property, which works fine if i write that right in my App.tsx.
Maybe it is a not an issue, cause i understand that not every node_module should be compiled, but what should i do in this case? (except choosing another lib)
To reproduce
- react-native init
- yarn add haul -> init -> start --empty project works fine--
- yarn add rn-viewpager
- add minimal code
import { IndicatorViewPager, PagerDotIndicator } from 'rn-viewpager';
const App = () => (
<>
<IndicatorViewPager
style={{ height: Dimensions.get('window').height }}
indicator={(
<PagerDotIndicator
pageCount={3}
/>
)}
>
<Text>TEST</Text>
<Text>TEST</Text>
<Text>TEST</Text>
</IndicatorViewPager>
</>
);
It also solves with custom babel/ts config from recipe.
export default makeConfig({
bundles: {
index: {
entry: withPolyfills('./index.ts'),
transform({ config }) {
config.module.rules = [
{
test: /\.tsx?$/,
exclude: '/node_modules/',
use: [
{
loader: 'babel-loader',
},
{
loader: 'ts-loader',
}
]
},
...config.module.rules,
];
},
},
},
});
looks like it's happening since issue 220.
if i console.log the passed config in transform function, it does not looks like node_modules were excluded from babel, but behavior suggests otherwise.
I think this could be highlighted in the dock.
@Natteke not every node_module
package is excluded, some are transpiled but the great majority is not.