Info about an npm project - which lockfile version, which lockfile(s) are present, etc.
const lockfileInfo = require('lockfile-info');
const assert = require('assert');
lockfileInfo().then((results) => {
assert.deepEqual(Object.keys(results), [
'hasPackageJSON',
'hasNodeModulesDir',
'hasLockfile',
'hasPackageLock',
'hasShrinkwrap',
'lockfileVersion',
]);
assert.equal(typeof results.hasPackageJSON, 'boolean');
assert.equal(typeof results.hasNodeModulesDir, 'boolean');
assert.equal(typeof results.hasLockfile, 'boolean');
assert.equal(typeof results.hasPackageLock, 'boolean');
assert.equal(typeof results.hasShrinkwrap, 'boolean');
assert.equal(typeof results.lockfileVersion, 'number'); // `NaN`, `1`, `2`, or `3`
});