@crossplatformai/clean
v0.1.0-next.0
Published
Cross-platform cleanup tooling for CrossPlatform.ai workspaces.
Downloads
634
Readme
@crossplatformai/clean
Cross-platform cleanup utilities for CrossPlatform.ai workspaces.
Overview
@crossplatformai/clean provides a small programmatic API and CLI for removing common build artifacts, caches, and dependency directories without relying on shell-specific rm commands.
It supports three cleanup modes:
- explicit path cleanup
- glob pattern cleanup
- repository root cleanup for Turbo and pnpm workspaces
Installation
Install the package as a development dependency in a workspace that needs shared cleanup scripts:
pnpm add -D @crossplatformai/cleanCLI Usage
crossplatformai-clean --root
crossplatformai-clean --root --dry-run
crossplatformai-clean --root --keep-node-modules
crossplatformai-clean --root --verbose
crossplatformai-clean dist .turbo node_modules/.cache
crossplatformai-clean --pattern "**/.eslintcache" "**/*.tsbuildinfo"Options
| Option | Description |
| --------------------- | -------------------------------------------------------------------- |
| --root | Clean the detected repo root using the built-in workspace patterns |
| --pattern | Treat the remaining arguments as glob patterns |
| --dry-run | Report what would be removed without deleting anything |
| --keep-node-modules | Skip root and nested node_modules deletion during --root cleanup |
| --verbose | Report each cleaned, skipped, or missing path |
| --help, -h | Show help |
Programmatic Usage
import {
cleanPaths,
cleanPatterns,
cleanRoot,
findRepoRoot,
} from '@crossplatformai/clean';
const repoRoot = await findRepoRoot(process.cwd());
await cleanPaths(['dist', '.turbo'], { cwd: repoRoot });
await cleanPatterns(['**/.eslintcache', '**/*.tsbuildinfo'], { cwd: repoRoot });
await cleanRoot({ cwd: repoRoot, dryRun: true });Root Cleanup Targets
cleanRoot() removes these targets by default:
.turbo**/.turbonode_modules/.cache**/.eslintcache**/*.tsbuildinfo**/dist**/.next**/outexcluding**/android/****/coverage**/.vitest-cache**/node_modules
During CLI --root cleanup, node_modules contents are removed while the
active @crossplatformai/clean package, its launcher shim, and its runtime
dependencies are preserved so the cleanup process can finish reliably. Nested
workspace node_modules directories are still removed.
Use --keep-node-modules or { keepNodeModules: true } to keep dependency directories.
Notes
- Missing paths are treated as a successful no-op.
- Repo root discovery walks upward and requires either
turbo.jsonorpnpm-workspace.yaml. - A best-effort
pnpm turbo cleanrun is attempted during root cleanup, but failures are non-fatal.
