digital-matrix-rain
Version:
A cool matrix-style digital rain animation for terminal/console applications
48 lines (39 loc) ⢠1.82 kB
JavaScript
/**
* Post-install script for digital-matrix-rain
* Runs a brief matrix animation when the package is installed
*/
const { MatrixRain } = require('./index.js');
// Check if we're in a CI environment or non-interactive terminal
const isCI = process.env.CI || process.env.NODE_ENV === 'test';
const isInteractive = process.stdout.isTTY;
// Only run the animation if we're in an interactive terminal and not in CI
if (isInteractive && !isCI) {
console.log('\nš Thank you for installing digital-matrix-rain! š');
console.log('⨠Enjoy this brief matrix animation preview...\n');
// Wait a moment, then start the animation
setTimeout(() => {
const welcomeMatrix = new MatrixRain({
color: 'green',
speed: 60,
density: 0.15,
width: Math.min(process.stdout.columns || 80, 60),
height: Math.min(process.stdout.rows || 24, 15)
});
// Run for 5 seconds as a welcome animation
welcomeMatrix.run(5000);
// Show usage instructions after animation
setTimeout(() => {
console.log('\nš Getting started with digital-matrix-rain:');
console.log(' ⢠CLI: npx digital-matrix-rain');
console.log(' ⢠Global install: npm install -g digital-matrix-rain');
console.log(' ⢠In code: const { matrix } = require("digital-matrix-rain"); matrix();');
console.log('\nš” Run "digital-matrix --help" for more options!');
console.log('š Star us on GitHub if you like this package!\n');
}, 5500);
}, 1000);
} else {
// Silent install for CI/non-interactive environments
console.log('ā
digital-matrix-rain installed successfully!');
console.log('š Visit https://www.npmjs.com/package/digital-matrix-rain for documentation');
}