hugo-wasm/hugolib
Bjørn Erik Pedersen db28695ff5 Fix some server/watch rebuild issues
Two issues:

1. Fixe potential edit-loop in server/watch mode (see below)
2. Drain the cache eviction stack before we start calculating the change set. This should allow more fine grained rebuilds for bigger sites and/or in low memory situations.

The fix in 6c68142cc1 wasn't really fixing the complete problem.

In Hugo we have some steps that takes more time than others, one example being CSS building with TailwindCSS.

The symptom here is that sometimes when you:

1. Edit content or templates that does not trigger a CSS rebuild => Snappy rebuild.
2. Edit stylesheet or add a CSS class to template that triggers a CSS rebuild => relatively slow rebuild (expected)
3. Then back to content editing or template edits that should not trigger a CSS rebuild => relatively slow rebuild (not expected)

This commit fixes this by pulling the dynacache GC step up and merge it with the cache buster step.

Fixes #13316
2025-02-01 16:29:14 +01:00
..
doctree Fix some typos 2024-11-28 11:20:02 +01:00
filesystems Do not watch directories with no mounted files in it 2024-11-04 12:44:07 +01:00
pagesfromdata resources: Fix 2 image file cache key issues 2025-01-18 12:23:18 +01:00
paths js: Fix js.Batch for multihost setups 2024-12-16 11:52:18 +01:00
segments Add segments config + --renderSegments flag 2024-03-16 15:53:26 +01:00
testdata Allow whitelisting mediaTypes used in resources.GetRemote 2023-05-20 20:16:45 +02:00
testsite Add support for CODEOWNERS 2022-02-23 22:43:19 +01:00
404_test.go Fix server refresh on 404 template changes 2025-01-02 11:21:25 +01:00
alias.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
alias_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
breaking_changes_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
cascade_test.go Fix cascade with overlapping sections 2025-01-24 15:25:54 +01:00
codeowners.go Create a struct with all of Hugo's config options 2023-05-16 18:01:29 +02:00
collections.go Some godoc adjustments and image struct renames 2022-04-27 23:53:56 +02:00
collections_test.go Fix some RenderShortcodes error cases 2024-11-03 13:33:31 +01:00
config.go all: Run gofumpt -l -w . 2024-01-28 23:14:09 +01:00
config_test.go Add config option disableDefaultLanguageRedirect 2024-12-12 21:47:03 +01:00
configdir_test.go testing: Simplify some integration tests 2024-01-28 22:17:22 +01:00
content_factory.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
content_factory_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
content_map.go Misc remote HTTP/content adapter enhancements 2024-06-05 12:16:40 +02:00
content_map_page.go Fix some server/watch rebuild issues 2025-02-01 16:29:14 +01:00
content_map_test.go Fix branch resource overlapping bundle path 2025-01-09 08:00:30 +01:00
content_render_hooks_test.go For render hooks, only fallback to HTML (or the defaultOutputFormat) template 2025-01-15 19:59:58 +02:00
datafiles_test.go Fix assets vs data issue 2024-02-28 19:26:55 +01:00
dates_test.go Fix it so publishDate rolls up to section, taxonomy, or term pages 2024-07-01 21:48:12 +02:00
disableKinds_test.go Fix disabled languages regression 2024-02-01 19:42:55 +01:00
embedded_templates_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
fileInfo.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
fileInfo_test.go tests: Convert from testify to quicktest 2019-08-12 13:26:32 +02:00
frontmatter_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
gitinfo.go deps: Upgrade github.com/bep/gitmap v1.4.0 => v1.6.0 (note) 2024-07-17 10:54:28 +02:00
hugo_modules_test.go Port some integration tests to new test setup 2024-01-28 11:29:23 +01:00
hugo_sites.go Fix some server rebuild issues for non-HTML custom output formats 2025-01-24 17:27:02 +01:00
hugo_sites_build.go Fix some server/watch rebuild issues 2025-02-01 16:29:14 +01:00
hugo_sites_build_errors_test.go Add js.Batch 2024-12-12 21:43:17 +01:00
hugo_sites_build_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
hugo_sites_multihost_test.go resources: Fix 2 image file cache key issues 2025-01-18 12:23:18 +01:00
hugo_sites_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
hugo_smoke_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
hugolib_integration_test.go testing: Rename integration_test.go to PACKAGE_integration_test.go 2024-01-28 11:41:59 +01:00
image_test.go resources: Fix 2 image file cache key issues 2025-01-18 12:23:18 +01:00
integrationtest_builder.go Fix some server rebuild issues for non-HTML custom output formats 2025-01-24 17:27:02 +01:00
language_content_dir_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
language_test.go Fix deprecation errors 2024-08-05 19:23:53 +02:00
menu_test.go hugolib: Fix fallbacks for menu entry Name and Title 2024-12-19 08:47:53 +01:00
minify_publisher_test.go Create a struct with all of Hugo's config options 2023-05-16 18:01:29 +02:00
mount_filters_test.go Fix Name for nested resourced fetched in resources.ByName and similar 2024-03-13 18:59:50 +02:00
page.go resources: Replace error handling in GetRemote with try (note) 2025-01-06 12:22:17 +01:00
page__common.go Remove deprecations <= v0.122.0 (note) 2024-11-16 20:32:43 +01:00
page__content.go markup/tableofcontents: Cast Fragments.ToHTML args to int 2024-12-04 21:37:06 +01:00
page__data.go Don't use the same value in .Data.Term.Title as in .Title 2024-02-17 12:34:50 +01:00
page__fragments_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
page__menus.go content adapter: Add support for menus in AddPage 2024-05-30 11:29:21 +02:00
page__meta.go Make cascade front matter order deterministic 2025-01-23 09:45:47 +01:00
page__meta_test.go Fix draft for non-default content when content in default language does not exist 2024-02-28 19:26:55 +01:00
page__new.go Make sure term is always set 2024-11-18 16:20:25 +01:00
page__output.go Add Page.Contents with scope support 2024-08-29 16:45:21 +02:00
page__paginator.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
page__paths.go Fix some server rebuild issues for non-HTML custom output formats 2025-01-24 17:27:02 +01:00
page__per_output.go Fix some server rebuild issues for non-HTML custom output formats 2025-01-24 17:27:02 +01:00
page__position.go hugolib: Formally deprecate .Page.NextPage .Page.PrevPage 2024-02-03 17:28:52 +01:00
page__ref.go Improve error messages, esp. when the server is running 2022-05-06 19:43:22 +02:00
page__tree.go Fix .Parent when there are overlapping regular pages inbetween 2024-03-16 14:48:04 +01:00
page_kinds.go Move all Kind constants to its own package 2023-07-28 15:14:23 +02:00
page_permalink_test.go resources/page: Expand parmalinks tokens in url 2024-08-01 12:14:29 +02:00
page_test.go Add site.Store and hugo.Store and Shortcode.Store 2024-11-13 12:41:16 +01:00
page_unwrap.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
page_unwrap_test.go all: gofmt -w -r 'interface{} -> any' . 2022-03-17 22:03:27 +01:00
pagebundler_test.go Consolidate all hashing to the common/hashing package 2024-07-31 16:44:06 +02:00
pagecollections.go Fix site.GetPage, never do short lookups for paths with leadig slash 2024-07-04 10:09:18 +02:00
pagecollections_test.go Fix site.GetPage, never do short lookups for paths with leadig slash 2024-07-04 10:09:18 +02:00
pages_capture.go Add js.Batch 2024-12-12 21:43:17 +01:00
pages_language_merge_test.go resources/page: Deprecate .Sites.First in favor of .Sites.Default 2024-06-01 18:02:19 +02:00
pages_test.go Add a benchmark 2021-05-04 17:59:04 +02:00
paginator_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
params_test.go Handle build vs _build in front matter 2024-02-03 15:07:59 +01:00
permalinker.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
prune_resources.go Create a struct with all of Hugo's config options 2023-05-16 18:01:29 +02:00
rebuild_test.go Fix some server rebuild issues for non-HTML custom output formats 2025-01-24 17:27:02 +01:00
rendershortcodes_test.go Fix extra newline/paragraphs issue with .RenderShortcodes 2024-11-16 17:51:11 +01:00
renderstring_test.go testing: Simplify some integration tests 2024-01-28 22:17:22 +01:00
resource_chain_test.go resources: Fix 2 image file cache key issues 2025-01-18 12:23:18 +01:00
robotstxt_test.go Fix robots.txt using the built-in template regression 2024-02-20 11:17:44 +01:00
rss_test.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
securitypolicies_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
shortcode.go Add site.Store and hugo.Store and Shortcode.Store 2024-11-13 12:41:16 +01:00
shortcode_page.go Fix some RenderShortcodes error cases 2024-11-03 13:33:31 +01:00
shortcode_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
site.go Don't re-render aliases on server rebuilds 2025-02-01 15:23:36 +01:00
site_benchmark_new_test.go Make the cache eviction logic for stale entities more robust 2024-05-04 19:45:43 +02:00
site_output.go all: Rework page store, add a dynacache, improve partial rebuilds, and some general spring cleaning 2024-01-27 16:28:14 +01:00
site_output_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
site_render.go Fix some server rebuild issues for non-HTML custom output formats 2025-01-24 17:27:02 +01:00
site_sections.go Implement defer 2024-06-23 11:25:47 +02:00
site_sections_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
site_stats_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
site_test.go Fix stray end p tag in Obsidian callout titles 2024-09-05 12:12:24 +02:00
site_url_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
siteJSONEncode_test.go all: Format code with gofumpt 2020-12-03 13:12:58 +01:00
sitemap_test.go tpl/tplimpl: Optionally exclude content from sitemap 2024-04-02 11:21:03 +02:00
taxonomy_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
template_test.go tests: Address deprecation warnings and errors 2024-09-29 10:49:26 +02:00
testhelpers_test.go tpl/tplimpl: Deprecate twitter shortcode in favor of x shortcode 2025-01-16 10:33:34 +01:00