UNPKG

@git.zone/cli

Version:

A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.

39 lines (33 loc) 1.07 kB
import { BaseFormatter } from '../classes.baseformatter.js'; import type { IPlannedChange } from '../interfaces.format.js'; import * as plugins from '../mod.plugins.js'; import * as cleanupFormatter from '../format.cleanup.js'; export class CleanupFormatter extends BaseFormatter { get name(): string { return 'cleanup'; } async analyze(): Promise<IPlannedChange[]> { const changes: IPlannedChange[] = []; // List of files to remove const filesToRemove = ['yarn.lock', 'package-lock.json', 'tslint.json', 'defaults.yml']; for (const file of filesToRemove) { const exists = await plugins.smartfile.fs.fileExists(file); if (exists) { changes.push({ type: 'delete', path: file, module: this.name, description: `Remove obsolete file` }); } } return changes; } async applyChange(change: IPlannedChange): Promise<void> { switch (change.type) { case 'delete': await this.deleteFile(change.path); break; } } }