lib/vite_ruby/builder.rb in vite_ruby-3.2.11 vs lib/vite_ruby/builder.rb in vite_ruby-3.2.12
- old
+ new
@@ -50,13 +50,16 @@
end
# Internal: Returns a digest of all the watched files, allowing to detect
# changes, and skip Vite builds if no files have changed.
def watched_files_digest
+ return @last_digest if @last_digest_at && Time.now - @last_digest_at < 1
+
config.within_root do
files = Dir[*config.watched_paths].reject { |f| File.directory?(f) }
file_ids = files.sort.map { |f| "#{ File.basename(f) }/#{ Digest::SHA1.file(f).hexdigest }" }
- Digest::SHA1.hexdigest(file_ids.join('/'))
+ @last_digest_at = Time.now
+ @last_digest = Digest::SHA1.hexdigest(file_ids.join('/'))
end
end
# Public: Initiates a Vite build command to generate assets.
def build_with_vite(*args)