Skip to content

Instantly share code, notes, and snippets.

@zkochan
Created April 9, 2018 17:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zkochan/426aa7265c509fb72bbe7ede7e6c2747 to your computer and use it in GitHub Desktop.
Save zkochan/426aa7265c509fb72bbe7ede7e6c2747 to your computer and use it in GitHub Desktop.
const chalk = require('chalk')
var diff = require('ansi-diff')({
// if you want to support word wrapping, provide the terminal width
width: process.stdout.columns
})
// render now
render1()
setTimeout(render2, 1000)
setTimeout(render3, 2000)
setTimeout(render4, 3000)
function render1 () {
// will update the terminal with minimal changes
process.stdout.write(diff.update(`
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: TOUCH Release/obj.target/DTraceProviderStub.stamp
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: make: Leaving directory '/home/zkochan/src/pnpm/headless/node_modules/.registry.npmjs.org/dtrace-provider/0.8.6/node_modules/dtrace-provider/build'
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: gyp info ok
`))
}
function render2 () {
// will update the terminal with minimal changes
process.stdout.write(diff.update(`
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: TOUCH Release/obj.target/DTraceProviderStub.stamp
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: make: Leaving directory '/home/zkochan/src/pnpm/headless/node_modules/.registry.npmjs.org/dtrace-provider/0.8.6/node_modules/dtrace-provider/build'
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: gyp info ok
registry.npmjs.org/fsevents/1.1.3 | ${chalk.blue('install')}$ node install
registry.npmjs.org/fsevents/1.1.3 | ${chalk.blue('install')}: done
`))
}
function render3 () {
// will update the terminal with minimal changes
process.stdout.write(diff.update(`
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: TOUCH Release/obj.target/DTraceProviderStub.stamp
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: make: Leaving directory '/home/zkochan/src/pnpm/headless/node_modules/.registry.npmjs.org/dtrace-provider/0.8.6/node_modules/dtrace-provider/build'
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: gyp info ok
registry.npmjs.org/fsevents/1.1.3 | ${chalk.blue('install')}$ node install
registry.npmjs.org/fsevents/1.1.3 | ${chalk.blue('install')}: done
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}$ node ./bin/install.js
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}: husky
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}: setting up Git hooks
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}: trying to install from sub 'node_module' directory, skipping Git hooks installation
`))
}
function render4 () {
// will update the terminal with minimal changes
process.stdout.write(diff.update(`
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: TOUCH Release/obj.target/DTraceProviderStub.stamp
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: make: Leaving directory '/home/zkochan/src/pnpm/headless/node_modules/.registry.npmjs.org/dtrace-provider/0.8.6/node_modules/dtrace-provider/build'
registry.npmjs.org/dtrace-provider/0.8.6 | ${chalk.blue('install')}: gyp info ok
registry.npmjs.org/fsevents/1.1.3 | ${chalk.blue('install')}$ node install
registry.npmjs.org/fsevents/1.1.3 | ${chalk.blue('install')}: done
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}$ node ./bin/install.js
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}: husky
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}: setting up Git hooks
registry.npmjs.org/@zkochan/husky/0.0.0 | ${chalk.blue('install')}: trying to install from sub 'node_module' directory, skipping Git hooks installation
registry.npmjs.org/sinon/4.5.0 | ${chalk.blue('postinstall')}$ node scripts/support-sinon.js
registry.npmjs.org/sinon/4.5.0 | ${chalk.blue('postinstall')}: Have some ❤️ for Sinon? You can support the project via Open Collective:
registry.npmjs.org/sinon/4.5.0 | ${chalk.blue('postinstall')}: > https://opencollective.com/sinon/donate
registry.npmjs.org/sinon/4.5.0 | ${chalk.blue('postinstall')}:
`))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment