Developer Consistency
name and version are only required fieldsnpm init and npm init -y automate the file creation and handling of dependencies, listing them under dependencies and devDependenciessemverMAJOR.MINOR.PATCH
MAJOR for when you make incompatible API changesMINOR add backwards-compatible functionalityPATCH make backwards-compatible bug fixesCommonJS Modules allow devs to organize code in to small files of defined functionality. This is key to scalabilitymodule.exports can be accessible to another module through the require functionrequire needs a path provided to workjest and eslint for dependencies, with a valid .eslintrc.json file and be able to run tests.yml format, in the .github/workspaces in the root directory of repo with details of project (language, build/test envs, and more)npm let’s you publish packages/modules for others to useBabel (JS compiler) to convert your JS code to browser-compatible JS (some tools don’t work with certain browsers)to use, specific test scripts need to be built
test('description of test', () => {
expect(2+2).toBe(4);
});
truthy-ness, type and more