Default spec to NPM instead of blank, which can produce some odd results
Clean up internal mapping of internal vs recommended
Unit tests for npm required and warning fields