fix: extend turbopack ignoreIssue suppression to compression module (#7051) (#7180)

This commit is contained in:
Diego Rodrigues de Sa e Souza
2026-07-14 21:22:51 -03:00
committed by GitHub
parent 01476e6e6a
commit a0fc5b600c
3 changed files with 39 additions and 0 deletions

View File

@@ -0,0 +1 @@
- fix(build): extend the Turbopack `ignoreIssue` suppression to `open-sse/services/compression/**`, matching the `getModuleDir()` dynamic-path fs pattern already suppressed for `src/lib/agentSkills/**` in #6582, eliminating the remaining 610 "Overly broad patterns" warnings (#7051)

View File

@@ -128,11 +128,25 @@ const nextConfig = {
// expected diagnostic — suppress it here rather than fight the analyzer,
// mirroring the isNextIntlExtractorDynamicImportWarning precedent below
// for the webpack path. (#6582)
// open-sse/services/compression/ruleLoader.ts and
// .../engines/rtk/filterLoader.ts both define an identical
// getModuleDir() helper that walks up directories via
// path.resolve(anchor) + fs.existsSync(...) in a loop with a
// non-literal argument — the same dynamic-path fs access pattern as
// the agentSkills case above, but not covered by that narrower
// allowlist glob, so the "Overly broad patterns..." warning kept
// firing (610 times, once per entry point transitively importing the
// compression module). Same known-benign, bounded fs access;
// suppressed here rather than fought. (#7051, follow-up to #6582)
ignoreIssue: [
{
path: "**/src/lib/agentSkills/**",
description: /Overly broad patterns can lead to build performance issues/,
},
{
path: "**/open-sse/services/compression/**",
description: /Overly broad patterns can lead to build performance issues/,
},
],
},
output: "standalone",

View File

@@ -288,6 +288,30 @@ test("turbopack.ignoreIssue suppresses the agentSkills over-bundling warning (#6
assert.match(String(agentSkillsRule.description), /Overly broad patterns/);
});
test("turbopack.ignoreIssue suppresses the compression module over-bundling warning (#7051)", async () => {
// open-sse/services/compression/ruleLoader.ts and
// .../engines/rtk/filterLoader.ts both define an identical getModuleDir()
// helper that walks up directories via path.resolve(anchor) +
// fs.existsSync(...) in a loop with a non-literal argument — the same
// class of dynamic-path fs access that #6582 suppressed for
// src/lib/agentSkills/**, but that narrow allowlist glob didn't cover this
// module, so the warning kept firing (610 times) for every entry point
// transitively importing the compression module. This guards the config
// shape so the suppression rule isn't silently dropped in a future edit.
const { default: nextConfig } = await loadNextConfig("ignore-issue-compression");
const rules = nextConfig.turbopack?.ignoreIssue;
assert.ok(Array.isArray(rules), "expected turbopack.ignoreIssue to be an array");
const compressionRule = rules.find((rule) =>
String(rule.path).includes("open-sse/services/compression")
);
assert.ok(
compressionRule,
"expected an ignoreIssue rule targeting open-sse/services/compression/**"
);
assert.match(String(compressionRule.description), /Overly broad patterns/);
});
test("optimizePackageImports excludes the internal @omniroute/open-sse workspace (build-OOM guard)", async () => {
// Regression guard: adding the internal `@omniroute/open-sse` workspace to
// optimizePackageImports makes Next.js resolve its entire barrel at build