From b2be682176033f73268432f81e20ff5f35b9dcc3 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sun, 15 Feb 2026 18:00:20 +1100 Subject: [PATCH] fix(v3): exclude node_modules from build:frontend sources glob (#4983) * fix(v3): exclude node_modules from build:frontend sources glob The `sources: "**/*"` glob in the build:frontend task causes go-task to enumerate and checksum every file in node_modules during up-to-date checking. With heavy dependencies (e.g. MUI), this means 50-100k+ files are statted, causing 20-30 minute hangs especially on Windows/NTFS. Fixes #4939 Co-Authored-By: Claude Opus 4.6 * docs(v3): add changelog entry for #4939 fix * chore: trigger CI re-run with fixed workflow --------- Co-authored-by: Claude Opus 4.6 --- v3/UNRELEASED_CHANGELOG.md | 2 ++ v3/examples/android/build/Taskfile.yml | 1 + v3/examples/badge-custom/build/Taskfile.yml | 1 + v3/examples/badge/build/Taskfile.yml | 1 + v3/examples/custom-protocol-example/build/Taskfile.yml | 1 + v3/examples/dock/build/Taskfile.yml | 1 + v3/examples/file-association/build/Taskfile.common.yml | 1 + v3/examples/ios/build/Taskfile.yml | 1 + v3/examples/notifications/build/Taskfile.yml | 1 + v3/internal/commands/build_assets/Taskfile.tmpl.yml | 1 + 10 files changed, 11 insertions(+) diff --git a/v3/UNRELEASED_CHANGELOG.md b/v3/UNRELEASED_CHANGELOG.md index 8e4648038..f52aeedc9 100644 --- a/v3/UNRELEASED_CHANGELOG.md +++ b/v3/UNRELEASED_CHANGELOG.md @@ -24,6 +24,8 @@ After processing, the content will be moved to the main changelog and this file ## Fixed +- Fix 20-30 minute hangs during `wails3 build` and `wails3 dev` by excluding `node_modules/` from go-task's up-to-date checking. Previously, the `sources: "**/*"` glob caused go-task to enumerate and checksum every file in `node_modules/` (50-100k+ files with heavy dependencies like MUI), especially slow on Windows/NTFS (#4939) + ## Deprecated diff --git a/v3/examples/android/build/Taskfile.yml b/v3/examples/android/build/Taskfile.yml index 209793bfd..e0a74df87 100644 --- a/v3/examples/android/build/Taskfile.yml +++ b/v3/examples/android/build/Taskfile.yml @@ -27,6 +27,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: diff --git a/v3/examples/badge-custom/build/Taskfile.yml b/v3/examples/badge-custom/build/Taskfile.yml index 5f3517efc..f0aab9b9c 100644 --- a/v3/examples/badge-custom/build/Taskfile.yml +++ b/v3/examples/badge-custom/build/Taskfile.yml @@ -27,6 +27,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: diff --git a/v3/examples/badge/build/Taskfile.yml b/v3/examples/badge/build/Taskfile.yml index 5f3517efc..f0aab9b9c 100644 --- a/v3/examples/badge/build/Taskfile.yml +++ b/v3/examples/badge/build/Taskfile.yml @@ -27,6 +27,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: diff --git a/v3/examples/custom-protocol-example/build/Taskfile.yml b/v3/examples/custom-protocol-example/build/Taskfile.yml index ba497b5b6..f3475d2cf 100644 --- a/v3/examples/custom-protocol-example/build/Taskfile.yml +++ b/v3/examples/custom-protocol-example/build/Taskfile.yml @@ -26,6 +26,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: diff --git a/v3/examples/dock/build/Taskfile.yml b/v3/examples/dock/build/Taskfile.yml index 5f3517efc..f0aab9b9c 100644 --- a/v3/examples/dock/build/Taskfile.yml +++ b/v3/examples/dock/build/Taskfile.yml @@ -27,6 +27,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: diff --git a/v3/examples/file-association/build/Taskfile.common.yml b/v3/examples/file-association/build/Taskfile.common.yml index 650c8ea83..540c8a991 100644 --- a/v3/examples/file-association/build/Taskfile.common.yml +++ b/v3/examples/file-association/build/Taskfile.common.yml @@ -30,6 +30,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/* deps: diff --git a/v3/examples/ios/build/Taskfile.yml b/v3/examples/ios/build/Taskfile.yml index 209793bfd..e0a74df87 100644 --- a/v3/examples/ios/build/Taskfile.yml +++ b/v3/examples/ios/build/Taskfile.yml @@ -27,6 +27,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: diff --git a/v3/examples/notifications/build/Taskfile.yml b/v3/examples/notifications/build/Taskfile.yml index 5f3517efc..f0aab9b9c 100644 --- a/v3/examples/notifications/build/Taskfile.yml +++ b/v3/examples/notifications/build/Taskfile.yml @@ -27,6 +27,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: diff --git a/v3/internal/commands/build_assets/Taskfile.tmpl.yml b/v3/internal/commands/build_assets/Taskfile.tmpl.yml index 07592bff8..7837ab350 100644 --- a/v3/internal/commands/build_assets/Taskfile.tmpl.yml +++ b/v3/internal/commands/build_assets/Taskfile.tmpl.yml @@ -27,6 +27,7 @@ tasks: dir: frontend sources: - "**/*" + - exclude: node_modules/**/* generates: - dist/**/* deps: