The project I'm working on is not a SPA, it's a rather big Rails app that sometimes needs JS to make some part of the page dynamic – usually it's about dynamic forms.
When I was thinking about ways in which I can integrate Elm into the project, I thought about having a separate Elm project for each feature: so there would be an order_form folder with its own elm-package.json, its own versions of dependencies and Elm. Beside it there would be another folder, let's say product_form, also with its own elm-package.json and so on. I quickly realized it could be a nightmare from the maintainability point of view, since each folder would require its own version of Elm, thus each folder would need to have a separate package.json which would install Elm from npm. I looked at elm-webpack-loader and found out that it requires me to have a single elm-package.json for the whole project. Separate forms would have an access to the same dependencies and the same version of Elm. At first I was put off by this solution, as it was completely the opposite of what I had in mind (separate elm-package.json for each form). Finally, I had a sudden moment of clarity and I realized that what elm-webpack-loader does is exactly what we already do with our smaller React apps: each lives in its own directory, each has a separate entry point in webpack config, but all share the same package.json and all have access to the same deps. Do I get it right? If so, how should I structure the apps on the Elm side? I was thinking about creating a directory app/assets/javascripts/elm. Each Elm "app" would have its main module under app/assets/javascripts/elm/src. Each Elm "app" would also have its own entry point in webpack. app/assets/javascripts/elm/src would be added as a source directory in source-directories in elm-package.json. Then I could "namespace" each "app", so that there's OrderForm (the main module) and everything that is specific to it is nested under OrderForm (OrderForm.Foo, OrderForm.Bar). This way webpack could easily handle building all the Elm apps along with React apps. Are there any pitfalls in my thinking? Do you see ways in which this approach could fail? If you use elm-webpack-loader and had a similar problem, I'd love to hear how you handled it! -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.