I'm all for having modular things actually, as it generally matches better with vwhat actually happens in real life visits vis-a-vis spaceship and naval shop construction. This usually takes games closer to 4X and turn based standards, however.
For modules to sell well, the whole process has to be quick and smooth. Ideally, I would like to be able to specify high-level design decisions (Haskell-like), from which the ship design engine automatically spits out finished blueprints for player to take/leave/tweak. Having this allows the game to auto generate shop variants and update them as players unlocks things. One of the thing I don't like in oldest Classic is how non-transferable knowledge unlocks are: you figure out how to make starship X tougher, why can't this be applied to another ship? Why can't I put riot shotguns on anything other than riot control starships?
Having this modular setup in the background gives a centralised way to organise the ad-hoc research bonuses like how unlocking better laser turrets also gave you better laser modules. By researching better turrets you were actually just researching the underlying technology and auto-applying it across different designs.
Whether to actually expose it to players and modders is the worthy question. I can imagine any ship design algorithm not being mod-friendly, as it depends on the actual game mechanics. On the other hand, I can imagine a number of steamlined interfaces that would make ship design a lot more appealing (to me) than most games have made them.
Side note: Coding wise, it generally makes sense to make everything modular, which also makes modding easier - it's about how much to expose to the player and modders, and how much we can do once the game is written.