The simple answer: Yes, in the case described above all front-end npm dependencies CAN be devDependencies
. Only node production runtime dependencies (e.g. if you're using express
and components related to the runtime server) would need to be in 'dependencies'.
The squishiness of the answers above is because there are philosophical differences of opinion about where these dependencies SHOULD be.
In my case - working in a company where security is important - we would require anything related to build and development but not running production code to be considered 'devDependencies'. Why? Well beyond the fact that feels like the whole point/intent of separating the dependencies (to me): in my context at least given that they are not used in production and are not loaded let alone used in production, the risk profile of those modules is significantly diminished by making them devDependencies
. Perhaps this is more obvious if you have a combined express app and vue app in one repo? If you made these regular dependencies then your express app would have lots of extra cruft when you npm install in production.