Making React apps requires a lot of boilerplate to get up in running- webpack configs, module loading, babel presets, hot reloading, and all of that. It looks like the solution is to use scaffolding tools like yeoman and create-react-app, but these technologies have a lot of npm modules which I don't use such as PostCSS or Jasmine.
Will having a lot of unused npm modules add unnecessary weight to my application and make it noticeably slower? Should I just manually create my application by npm installing only the modules I need?
It depends on how you package and deploy your application. For instance, if you're simply dropping the code on a server and running "npm install --production" then don't worry about it. But if you're packaging with webpack then you may be pulling in unnecessary modules. It depends on what your configuration looks like.
Also, make sure you exclude all the hot-reloading and other development stuff in your production build. That will save you a lot of bytes.
Jon
ClojureScript Developer.
Apps running in the development environment and production are different. During assets building before you release the app, there's a compilation stage. PostCSS will be compiled to plain CSS, Babel will be compiled, Jasmine won't affect the production (mostly). In some cases, you can use tree shaking to get rid of the unused code, that would be even better.
So will these modules make you app slower? Yes and no. You can just use the template, but make sure it's well compiled before release.