#!/usr/bin/env node import {unlink} from 'fs/promises'; import {DirScanner} from '../lib/dir-scanner.ts'; import chalk from 'chalk'; const {red, green} = chalk; const [node, script, target, param] = process.argv; if (!target) { console.error(`Usage ${node} ${script} DIRECTORY`) process.exit(1) } (async function () { const localDir = new DirScanner(); const targetDir = new DirScanner(); console.log('Scanning directories...') let local = process.cwd(); await localDir.addDirectory(local); await targetDir.addDirectory(target) console.log('Comparing...'); const {duplicated, unique} = await localDir.compareTo(targetDir); for (let [name, copy] of duplicated) console.log(`${green('DUPLICATES:')} ${name.slice(local.length)} == ${copy.slice(target.length)}`); for (let name of unique) console.log(`${red('UNIQUE:')} ${name.slice(local.length)}`); console.log(`Duplicated ${duplicated.size}, unique ${unique.length}`) if (param === 'delete') for (let [name] of duplicated) await unlink(name) })();