Добрый вечер. Есть страница index.njk и в ней инклюд footer.njk. При изменении footer.njk не обновляется index.njk.
Я понял что проблема в gulp.lastRun, но без него работать с большими проектам не очень комфортно т.к. длительность таска может достигать нескольких секунд.
Обнаружил аналогичную проблема с импортами в SASS, но там для этого написали уже специальный пакет gulp-dependents. Меня интересует, если ли подобный пакет, мб кто-то использует, либо, будет даже лучше, если кто-то знает как решить вопрос без дополнительных пакетов.
ТАСК
function html() {
return src('src/*.{html,njk}', { base: 'src', since: lastRun('html') })
.pipe(nunjucks({
path: 'src',
}))
// HTML-валидатор.
.pipe(htmlhint('.htmlhintrc'))
.pipe(htmlhint.reporter())
// Манифест.
// Если флаг --dist без --norev.
.pipe(gulpif(dist, gulpif(!norev, revReplace({
manifest: src('manifest/manifest.json', { allowEmpty: true }),
}))))
// Добавляет индентацию для заинклюженных блоков.
.pipe(gulpif(dist, prettyHtml({
indent_size: 2,
})))
// Выгрузка.
.pipe(dest(buildHtml))
// browserSync.
.pipe(gulpif(!dist, browserSync.stream())); // Если нет флага --dist.
}