Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Gulp
  3. gulp-newer

gulp-newer

JavaScript

A Gulp plugin that filters source files to only process those newer than their destination counterparts.

Visit WebsiteGitHubGitHub
221 stars23 forks0 contributors

What is gulp-newer?

gulp-newer is a Gulp plugin that filters source files in a build pipeline to only process those that are newer than their corresponding destination files. It solves the problem of unnecessary reprocessing in tasks like image minification, script concatenation, or CSS compilation, making builds faster and more efficient.

Target Audience

Developers using Gulp for build automation who want to optimize their workflows by avoiding redundant processing of unchanged files.

Value Proposition

It provides a lightweight, configuration-friendly way to implement incremental builds within Gulp, reducing build times without the complexity of full caching systems.

Overview

Pass through newer source files only

Use Cases

Best For

  • Optimizing image minification tasks to only process changed images
  • Speeding up script concatenation by skipping unchanged source files
  • Reducing build times in development with incremental processing
  • Avoiding redundant CSS or asset compilation in watch tasks
  • Implementing efficient file-based caching in Gulp pipelines
  • Improving performance in large projects with many static assets

Not Ideal For

  • Builds requiring complex dependency tracking beyond file timestamps, such as those involving API calls or database states
  • Projects using non-Gulp build systems like Webpack or Vite, which have integrated caching solutions
  • Environments where file timestamps are unreliable, such as in Docker containers or cloud storage with reset mtimes

Pros & Cons

Pros

Easy Integration

Adds incremental processing with a simple .pipe(newer(dest)) call, as shown in the README examples for image minification and script concatenation.

Flexible File Mapping

Supports both 1:1 and many:1 source-to-destination mappings, allowing it to handle tasks from individual file optimization to bundling, demonstrated with imagemin and concat.

Configurable Time Checks

Can switch between mtime and ctime for file comparison, providing adaptability for cases where file attributes change without content updates, as noted in the API options.

Extra Dependency Support

The extra option allows including configuration files or other dependencies to trigger reprocessing, ensuring builds stay current when related files change.

Cons

Timestamp Reliance

Effectiveness depends entirely on accurate file system timestamps, which can fail in environments like CI/CD pipelines where files are copied without preserving mtime.

Gulp Ecosystem Lock-in

Only works with Gulp, making it unsuitable for projects that might adopt other build tools, and lacks portability compared to language-agnostic caching solutions.

No Content Validation

Does not check file contents or use hashing, so it may miss changes if timestamps are stale or incorrectly set, unlike plugins with in-memory caching.

Frequently Asked Questions

Quick Stats

Stars221
Forks23
Contributors0
Open Issues22
Last commit5 years ago
CreatedSince 2014

Tags

#build-optimization#file-watching#incremental-builds#nodejs#javascript#automation#task-runner#gulp-plugin

Built With

J
JavaScript
N
Node.js

Links & Resources

Website

Included in

Gulp624
Auto-fetched 10 hours ago

Related Projects

gulp-changedgulp-changed

Only pass through changed files

Stars737
Forks43
Last commit11 months ago
gulp-cachedgulp-cached

A simple in-memory file cache for gulp

Stars453
Forks18
Last commit9 years ago
gulp-remembergulp-remember

A plugin for gulp that remembers and recalls files passed through it

Stars149
Forks16
Last commit8 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub