A Gulp plugin that filters streams to only pass through files changed since the last run.
gulp-changed is a Gulp plugin that filters file streams to only process files that have changed since the last build. It solves the problem of wasted time and resources by preventing redundant processing of unchanged files in development pipelines.
Developers using Gulp for build automation who need faster incremental builds, particularly in projects with large asset pipelines or frequent file changes.
It offers a lightweight, configurable way to implement incremental builds within Gulp, with support for custom comparators and path transformations, unlike more complex alternatives.
Only pass through changed files
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Filters only changed files based on modification time or content, significantly reducing build times and resource usage, as highlighted in the project description for optimizing development workflows.
Supports built-in comparators like compareLastModifiedTime and compareContents, and allows custom comparator functions for advanced scenarios, enabling tailored dependency tracking as shown in the API examples.
Handles different file extensions between source and destination and supports path transformations for renamed output files via the transformPath option, demonstrated in the README with examples like .jade to .html conversion.
Provides a simple, configurable solution that integrates seamlessly with Gulp streams, avoiding the overhead of more complex incremental build plugins and aligning with its philosophy of simplicity.
Cannot automatically detect changes in file imports or dependencies; for such needs, custom comparators are required, which the README acknowledges as a limitation and points to other plugins.
Relies on comparing source files against a destination directory, making it unsuitable for workflows that don't output to separate directories, such as in-place processing referenced by gulp-changed-in-place.
Default comparator uses file modification time, which can be unreliable if timestamps are altered without content changes, potentially leading to unnecessary processing or missed updates.