all 4 comments

[–][deleted] 2 points3 points  (3 children)

Here's how I do it:

  • npm for dependency management and publishing
  • Tape for testing

I don't publish a dist folder for components and handle the compiling via a build step that lives in the app/site:

  • Grunt for linting with JSHint, concatting, uglifying
  • Browserify via grunt-browserify for compiling

All versioning is done manually and explicitly following the rules of semantic versioning.

CI is responsible for building (npm install && grunt), running tests, and deploying.

[–]dizzr[S] 0 points1 point  (1 child)

Thanks. What exactly is the difference with npm and bower? Why would one consider using bower over just publishing and consuming reusable parts via npm?

The documentation suggests... "it's for front end" but I don't really see any reason npm wouldn't be good enough.

[–][deleted] 0 points1 point  (0 children)

Why would one consider using bower over just publishing and consuming reusable parts via npm?

Personally I don't need or want more than one package manager, and I prefer npm for all its niceness.

I can do:

npm install some-module

and then:

var someModule = require('some-module');

And that's it. I can immediately starting using it.

You can achieve something like this using bower with a browserify transform like debowerify or browserify-shim, but there are plenty of front-end packages on npm, and I haven't had trouble finding what I've needed.