As a Java back-end developer transitioning to front-end JavaScript, I'm facing the challenge of setting up testing for our client-side code. While I have experience with server-side Node projects and tools like Maven, I'm relatively new to front-end development.
For our front-end testing, I plan to use Eclipse IDE, Mocha testing framework, Chai assertion framework, Nock HTTP mocking framework, Sinon mocker/spy/stub framework, and Rewire dependency injection framework. Since we already use this stack for our Node project, I aim to maintain consistency across both projects.
However, my understanding falters when it comes to managing dependencies for the front-end JavaScript project. I fail to see why I shouldn't continue using NPM integrated into our Maven build process for dependency management and installation.
Many developers recommend Bower for front-end dependency management, but I struggle to grasp its advantages over NPM. Despite arguments against using NPM for browser dependencies due to its server-side focus, I wonder if practicality outweighs original design intentions.
Approach this query as if addressing a novice in front-end development. Acknowledge my lack of expertise in this area and provide detailed insights in your responses. Feel free to request project configurations for a better understanding of my context. Thank you for any guidance!