· From Writing a debug script
For debugging purposes, I needed to figure out when were node_modules
last installed. It turns out to be surprisingly tricky to do.
The gist is to read the birthtime
of a directory in the node_modules
folder (here moment
as an example). Note that upon installation, the node_modules
folder is emptied and not recreated, so it shouldn’t be used to determine creation date.
const { stat } = require('fs')
const { promisify } = require('util')
const moment = require('moment')
const getStats = promisify(stat)
const getLastNpmInstall = () => {
const stats = await getStats('./node_modules/moment')
const lastInstall = moment(stats.birthtime)
return lastInstall.fromNow() // E.g. 3 days
}