add bower support and npm support