the anatomy of npm: flags, hoisting and the cost of default | nangazaki