From be9f13c89c86a81c38fcfd416fa6e9a5434a747e Mon Sep 17 00:00:00 2001 From: Kevin Moore Date: Wed, 26 Feb 2025 09:35:39 -0800 Subject: [PATCH 1/2] Deprecate a few more things before we launch v2 --- web/CHANGELOG.md | 5 +++++ web/analysis_options.yaml | 1 - web/example/example.dart | 2 +- web/lib/src/helpers/events/streams.dart | 4 ++-- web/lib/src/helpers/extensions.dart | 3 +++ web/pubspec.yaml | 2 +- web/test/helpers_test.dart | 6 +++--- web_generator/analysis_options.yaml | 1 - web_generator/lib/src/translator.dart | 4 +++- 9 files changed, 18 insertions(+), 10 deletions(-) diff --git a/web/CHANGELOG.md b/web/CHANGELOG.md index f49316b8..927e374f 100644 --- a/web/CHANGELOG.md +++ b/web/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.1.1 + +- Deprecated `Node.text` extension. Use `Node.textContent` instead. +- Deprecated `[]` extensions on `Storage`. + ## 1.1.0 - Added `HttpStatus` class that declares http status codes. This is a copy of diff --git a/web/analysis_options.yaml b/web/analysis_options.yaml index c7a22845..ac4fc0d3 100644 --- a/web/analysis_options.yaml +++ b/web/analysis_options.yaml @@ -33,7 +33,6 @@ linter: - literal_only_boolean_expressions - no_adjacent_strings_in_list - no_runtimeType_toString - - package_api_docs - prefer_const_declarations - prefer_final_locals - unnecessary_await_in_return diff --git a/web/example/example.dart b/web/example/example.dart index 6e38e5c7..11f2622c 100644 --- a/web/example/example.dart +++ b/web/example/example.dart @@ -6,5 +6,5 @@ import 'package:web/web.dart'; void main() { final div = document.querySelector('div')!; - div.text = 'Text set at ${DateTime.now()}'; + div.textContent = 'Text set at ${DateTime.now()}'; } diff --git a/web/lib/src/helpers/events/streams.dart b/web/lib/src/helpers/events/streams.dart index 266a49de..060ea482 100644 --- a/web/lib/src/helpers/events/streams.dart +++ b/web/lib/src/helpers/events/streams.dart @@ -176,9 +176,9 @@ class _EventStreamSubscription // `dart:html` it would have printed 1, 2, 4, 3 // // ```dart - // import 'package:web/helpers.dart'; + // import 'package:web/web.dart'; // - // main() { + // void main() { // print('1'); // final body = document.body!; // body.onTouchStart.first.whenComplete(() { diff --git a/web/lib/src/helpers/extensions.dart b/web/lib/src/helpers/extensions.dart index bdcfc20b..2fadb4f2 100644 --- a/web/lib/src/helpers/extensions.dart +++ b/web/lib/src/helpers/extensions.dart @@ -70,6 +70,7 @@ extension CanvasRenderingContext2DGlue on CanvasRenderingContext2D { } extension NodeGlue on Node { + @Deprecated('See Node.textContent') set text(String s) => textContent = s; @Deprecated('See Node.appendChild()') Node append(Node other) => appendChild(other); @@ -98,7 +99,9 @@ extension TouchGlue on Touch { } extension StorageGlue on Storage { + @Deprecated('Use Storage.getItem instead') String? operator [](String key) => getItem(key); + @Deprecated('Use Storage.setItem instead') void operator []=(String key, String value) => setItem(key, value); } diff --git a/web/pubspec.yaml b/web/pubspec.yaml index ab951465..62aaacc9 100644 --- a/web/pubspec.yaml +++ b/web/pubspec.yaml @@ -1,5 +1,5 @@ name: web -version: 1.1.0 +version: 1.1.1 description: Lightweight browser API bindings built around JS interop. repository: https://github.com/dart-lang/web diff --git a/web/test/helpers_test.dart b/web/test/helpers_test.dart index fb1f82ff..4ffa81a4 100644 --- a/web/test/helpers_test.dart +++ b/web/test/helpers_test.dart @@ -23,9 +23,9 @@ void main() { test('Converts a JS list to a dart list using JSImmutableListWrapper', () { final div = (document.createElement('div')) - ..append(document.createElement('div')..text = '1') - ..append(document.createElement('div')..text = '2') - ..append(document.createElement('div')..text = '3'); + ..append(document.createElement('div')..textContent = '1') + ..append(document.createElement('div')..textContent = '2') + ..append(document.createElement('div')..textContent = '3'); final List dartList = JSImmutableListWrapper(div.querySelectorAll('div')); diff --git a/web_generator/analysis_options.yaml b/web_generator/analysis_options.yaml index c4ebe406..02426349 100644 --- a/web_generator/analysis_options.yaml +++ b/web_generator/analysis_options.yaml @@ -19,7 +19,6 @@ linter: - literal_only_boolean_expressions - no_adjacent_strings_in_list - no_runtimeType_toString - - package_api_docs - prefer_const_declarations - prefer_final_locals - unnecessary_await_in_return diff --git a/web_generator/lib/src/translator.dart b/web_generator/lib/src/translator.dart index 95e4fbf5..ef58c04a 100644 --- a/web_generator/lib/src/translator.dart +++ b/web_generator/lib/src/translator.dart @@ -524,7 +524,9 @@ class _PartialInterfacelike { } final isStatic = operation.special == 'static'; if (shouldQueryMDN && - !_shouldGenerateMember(operationName, isStatic: isStatic)) break; + !_shouldGenerateMember(operationName, isStatic: isStatic)) { + break; + } final docs = shouldQueryMDN ? mdnInterface?.propertyFor(operationName, isStatic: isStatic) : null; From 21dc2ec00b3b29b837776c77233e8d7fe1a1eeb7 Mon Sep 17 00:00:00 2001 From: Kevin Moore Date: Wed, 26 Feb 2025 13:12:49 -0800 Subject: [PATCH 2/2] deprecate one more thing --- web/lib/src/helpers/extensions.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/lib/src/helpers/extensions.dart b/web/lib/src/helpers/extensions.dart index 2fadb4f2..45df4883 100644 --- a/web/lib/src/helpers/extensions.dart +++ b/web/lib/src/helpers/extensions.dart @@ -59,6 +59,7 @@ extension HTMLCanvasElementGlue on HTMLCanvasElement { } extension CanvasRenderingContext2DGlue on CanvasRenderingContext2D { + @Deprecated('See CanvasRenderingContext2D.drawImage') void drawImageScaled( CanvasImageSource image, double dx, @@ -122,9 +123,8 @@ extension XMLHttpRequestGlue on XMLHttpRequest { // from Closure's goog.net.Xhrio.getResponseHeaders. final headers = {}; final headersString = getAllResponseHeaders(); - final headersList = - LineSplitter.split(headersString).where((header) => header.isNotEmpty); - for (final header in headersList) { + for (final header in LineSplitter.split(headersString) + .where((header) => header.isNotEmpty)) { final split = header.split(': '); if (split.length <= 1) { continue;