A simple, lightweight, type-friendly, and modern task runner for general-purpose automation.
Foy is a lightweight, modern task runner for automating build processes, scripts, and general-purpose tasks in JavaScript and TypeScript projects. It provides a promise-based API with built-in utilities for file operations, command execution, and logging, aiming to simplify automation without the complexity of larger tools.
JavaScript and TypeScript developers who need a straightforward, type-friendly task runner for build automation, scripting, or CI/CD workflows, especially those seeking an alternative to Gulp or Grunt.
Developers choose Foy for its minimal learning curve, TypeScript support, and small footprint, offering a clean, promise-based API that reduces boilerplate while maintaining flexibility for complex task orchestration.
A simple, light-weight, type-friendly and modern task runner for general purpose.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables writing asynchronous tasks using async/await for readable scripts, as shown in examples like task('build', async ctx => { await ctx.exec('tsc') }) for straightforward automation.
Provides type-safe task options and seamless integration with TypeScript files, allowing generics for options and Foyfile.ts usage with compilers like tsx.
Boasts a small install size compared to Gulp or Grunt, reducing dependency bloat and startup time, as highlighted in the README's install size badges.
Supports serial/parallel dependencies, namespaces, and lifecycle hooks, enabling complex workflows without unnecessary complexity, like using dep().async() for concurrent execution.
Lacks a dedicated plugin architecture, so extending functionality requires manual integration of external npm packages, increasing setup and maintenance effort.
Using TypeScript Foyfiles necessitates installing compilers like ts-node or tsx, adding an extra configuration step that zero-config tools avoid.
As a niche tool, it has fewer community-contributed resources, plugins, and examples compared to established runners, which can hinder troubleshooting.
foy is an open-source alternative to the following products:
Gulp is a JavaScript toolkit and task runner that uses a code-over-configuration approach to automate tasks like bundling, minification, and optimization in web development.
Grunt is a JavaScript task runner that automates repetitive tasks like minification, compilation, unit testing, and linting in web development workflows.