From 777708cd4740b32316e907687339e16bb59ba853 Mon Sep 17 00:00:00 2001 From: Natalie Weizenbaum Date: Sat, 4 Jan 2025 01:01:03 +0000 Subject: [PATCH] Include deprecation IDs in deprecation messages (#2475) --- CHANGELOG.md | 5 +++++ lib/src/logger.dart | 2 ++ lib/src/logger/stderr.dart | 15 ++++++++++----- pkg/sass-parser/CHANGELOG.md | 4 ++++ pkg/sass-parser/package.json | 2 +- pkg/sass_api/CHANGELOG.md | 4 ++++ pkg/sass_api/pubspec.yaml | 4 ++-- pubspec.yaml | 2 +- 8 files changed, 29 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index acecb7469..25180ca58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.83.1-dev + +* Include deprecation IDs in deprecation warnings to make it easier to determine + what to pass to `--silence-deprecation` or `--fatal-deprecation`. + ## 1.83.0 * Allow trailing commas in *all* argument and parameter lists. diff --git a/lib/src/logger.dart b/lib/src/logger.dart index 7569b6e7c..da85627b4 100644 --- a/lib/src/logger.dart +++ b/lib/src/logger.dart @@ -49,6 +49,8 @@ abstract class Logger { /// [warn]. @internal abstract class LoggerWithDeprecationType implements Logger { + const LoggerWithDeprecationType(); + /// This forwards all calls to [internalWarn]. /// /// For non-user deprecation warnings, the [warnForDeprecation] extension diff --git a/lib/src/logger/stderr.dart b/lib/src/logger/stderr.dart index fc001008f..4682d8bb0 100644 --- a/lib/src/logger/stderr.dart +++ b/lib/src/logger/stderr.dart @@ -6,28 +6,33 @@ import 'package:path/path.dart' as p; import 'package:source_span/source_span.dart'; import 'package:stack_trace/stack_trace.dart'; +import '../deprecation.dart'; import '../io.dart'; import '../logger.dart'; import '../utils.dart'; /// A logger that prints warnings to standard error or browser console. -final class StderrLogger implements Logger { +final class StderrLogger extends LoggerWithDeprecationType { /// Whether to use terminal colors in messages. final bool color; const StderrLogger({this.color = false}); - void warn(String message, - {FileSpan? span, Trace? trace, bool deprecation = false}) { + void internalWarn(String message, + {FileSpan? span, Trace? trace, Deprecation? deprecation}) { var result = StringBuffer(); if (color) { // Bold yellow. result.write('\u001b[33m\u001b[1m'); - if (deprecation) result.write('Deprecation '); + if (deprecation != null) result.write('Deprecation '); result.write('Warning\u001b[0m'); + if (deprecation != null) { + result.write(' [\u001b[34m$deprecation\u001b[0m]'); + } } else { - if (deprecation) result.write('DEPRECATION '); + if (deprecation != null) result.write('DEPRECATION '); result.write('WARNING'); + if (deprecation != null) result.write(' [$deprecation]'); } if (span == null) { diff --git a/pkg/sass-parser/CHANGELOG.md b/pkg/sass-parser/CHANGELOG.md index 4f8ebeb30..b0aa46715 100644 --- a/pkg/sass-parser/CHANGELOG.md +++ b/pkg/sass-parser/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.9-dev + +* No user-visible changes. + ## 0.4.8 Add support for parsing the `@include` rule. diff --git a/pkg/sass-parser/package.json b/pkg/sass-parser/package.json index 9e88a59d1..301196342 100644 --- a/pkg/sass-parser/package.json +++ b/pkg/sass-parser/package.json @@ -1,6 +1,6 @@ { "name": "sass-parser", - "version": "0.4.8", + "version": "0.4.9-dev", "description": "A PostCSS-compatible wrapper of the official Sass parser", "repository": "sass/sass", "author": "Google Inc.", diff --git a/pkg/sass_api/CHANGELOG.md b/pkg/sass_api/CHANGELOG.md index 81f3a4922..7b88720a7 100644 --- a/pkg/sass_api/CHANGELOG.md +++ b/pkg/sass_api/CHANGELOG.md @@ -1,3 +1,7 @@ +## 15.0.1-dev + +* No user-visible changes. + ## 15.0.0 * Rename `ArgumentInvocation` to `ArgumentList`, `ArgumentDeclaration` to diff --git a/pkg/sass_api/pubspec.yaml b/pkg/sass_api/pubspec.yaml index cd149d3a8..d3bfe4146 100644 --- a/pkg/sass_api/pubspec.yaml +++ b/pkg/sass_api/pubspec.yaml @@ -2,7 +2,7 @@ name: sass_api # Note: Every time we add a new Sass AST node, we need to bump the *major* # version because it's a breaking change for anyone who's implementing the # visitor interface(s). -version: 15.0.0 +version: 15.0.1-dev description: Additional APIs for Dart Sass. homepage: https://github.com/sass/dart-sass @@ -10,7 +10,7 @@ environment: sdk: ">=3.3.0 <4.0.0" dependencies: - sass: 1.83.0 + sass: 1.83.1 dev_dependencies: dartdoc: ^8.0.14 diff --git a/pubspec.yaml b/pubspec.yaml index 05c131958..f8f742f88 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: sass -version: 1.83.0 +version: 1.83.1-dev description: A Sass implementation in Dart. homepage: https://github.com/sass/dart-sass