-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
consider checking whether a babel ignore pattern is needed #3
Comments
I did experiment with that. I however didn't seem to make much on an impact whether the files are filtered or not in I tried with
Don't know how much this would change if there was more actual CLJS code. This is using |
NOTE: this is just a brain dump of my current understanding, please take it with a grain of salt as it might be wrong AFAIK the presets are required for 3rd party components that are created with ES6 (react classes). Those ones need to be transpiled to work on older JavascriptCore engines. I think Reagent doesnt use any magic for React components but creates them directly, which would explain why your build works even when you dont have any presets. The other point that I think is relevant is that things like node.js "native" modules are replaced by the metro packager when building so that they actually use the mobile apis. I think it would be interesting to see how does shadow-cljs work on a production app with non-trivial setup. Hope it helps |
FWIW I took the
The app doesn't actually run because I only created empty
Deploy times seem fine though. Nothing excessive. This was with the default
Not sure what the app is actually supposed to do. Do you have some valid |
hey @thheller I will provide them to you later today. But the bundling times look very good. I had built times of 20 minutes before so this is very good |
currently your babel.config.js file only contains the preset for react native: https://github.com/thheller/reagent-expo/blob/master/babel.config.js#L4
In my app I had troubles on my CI pipeline because babel would to parse the
main.js
file generated by the cljs compiler for production. This would incur in build times of around 20 minutes; most of it just doing the packaging of js files. See this pr for "more info". After ignoring the compiled file my builds where significantly faster.However, I think some people have had several issues with this approach because usually the output file is called
index.js
and (apparently) babel cannot differentiate the cljs compiledindex.js
file from any other moduleindex.js
file; it just compares the name and if they matched then the file is ignored.I am not sure if this changed byt just wanted to mention it.
Hope it helps
The text was updated successfully, but these errors were encountered: