[heft] `@rushstack/heft-sass-plugin`: `ignoreDeprecationsInDependencies` is a silent no-op (never wired to Sass `quietDeps`)
Maintainer thường phản hồi trong vòng 1 ngày
@iclanton đang làm issue này rồi.
Từ ngày 15/6/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
@rushstack/heft-sass-plugin: ignoreDeprecationsInDependencies is a silent no-op (never wired to Sass quietDeps)
Summary
@rushstack/heft-sass-plugin documents and schema-validates a Sass config option ignoreDeprecationsInDependencies, but the option has no effect. It is declared in the JSON schema, in the ISassProcessorOptions interface, and in the README — but it is never read from the config file and never forwarded to the Sass compiler. Setting it to true passes validation and does nothing.
The option is clearly intended to map to the Sass compiler's quietDeps flag, which suppresses deprecation warnings originating from dependency stylesheets (files reached via importers / @use / @import) while keeping warnings in the project's own authored SCSS visible. Today the only working lever is the blunt, global silenceDeprecations, which also hides deprecations in first-party code that developers actually need to fix.
Versions
@rushstack/heft-sass-plugin: 1.4.1@rushstack/heft: 1.2.17sass-embedded: 1.85.1
Root cause
The value is dropped at two points along the path sass.json → SassPlugin.ts → SassProcessor.ts → sass compiler options:
-
src/SassPlugin.ts— the config interfaceISassConfigurationJsondoes not declareignoreDeprecationsInDependencies. It is not destructured from the loadedsassConfigurationJson, and it is never copied into theISassProcessorOptionsobject passed tonew SassProcessor(...). (OnlysilenceDeprecationsis plumbed through.) -
src/SassProcessor.ts— the constructor destructures only{ silenceDeprecations, excludeFiles }, and thethis._scssOptionsobject literal setssilenceDeprecationsbut never setsquietDeps. The stringquietDepsdoes not appear anywhere in the package.
The schema (src/schemas/heft-sass-plugin.schema.json), the ISassProcessorOptions interface, and the README all declare/document the option — which is exactly why it appears supported while silently doing nothing.
Steps to reproduce
- Use
@rushstack/heft-sass-pluginon a project whose SCSS@uses/@imports a dependency (e.g. fromnode_modules) that emits a Sass deprecation warning (e.g.import,global-builtin, orcolor-functions). - In
config/sass.json, set:{ "ignoreDeprecationsInDependencies": true } - Build.
Expected: deprecation warnings coming from the dependency are suppressed, while deprecations in the project's own SCSS still appear.
Actual: the option is ignored entirely; dependency deprecation warnings are still printed. The only way to silence them is global silenceDeprecations, which also hides first-party deprecations.
Suggested fix
Forward the option to the Sass compiler's quietDeps flag:
- In
src/SassPlugin.ts: addignoreDeprecationsInDependencies?: booleantoISassConfigurationJson, include it in the destructure of the loaded config, and pass it into theISassProcessorOptionsgiven tonew SassProcessor(...). - In
src/SassProcessor.ts: destructureignoreDeprecationsInDependenciesfromoptionsand addquietDeps: ignoreDeprecationsInDependenciesto thethis._scssOptionsobject literal (alongside the existingsilenceDeprecations). The two are independent and should compose.
quietDeps is a standard sass-embedded option (boolean | undefined), so passing the optional value through is type-safe and requires no schema change.
Related
Originally surfaced via SharePoint/sp-dev-docs#10834
- Ngôn ngữ chính
- TypeScript
- Star
- 6.5k
- Fork
- 710
- Merge trung bình
- 1 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 46
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/rushstack
-
[rush] Upgrade the pnpm-sync-lib dependency to 0.3.5.Có thể đã có người làm @martinnaj đã nhận 6 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
microsoft/rushstack#5971 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
microsoft/rushstack#5902 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
microsoft/rushstack#5839 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
microsoft/rushstack#5683 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của microsoft/rushstack
Issue tương tự
-
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 85/100
capricorn86/happy-dom#2474 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
JSerwatka/letterboxd-tweaks#81 · 1 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
siyuan-note/siyuan#20165 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
polkadot-js/phishing#5716 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
juice-shop/juice-shop#3662 ·
Maintainer thường phản hồi trong vòng 1 ngày