Repository navigation
[js_interop_gen] Require code_builder: ^4.12.0 and update golden headers - #576
Merged
Merged
Conversation
…aders `package:code_builder` `4.12.0` fixed dart-lang/tools#2404 by emitting scoped lint ignores (`no_leading_underscores_for_library_prefixes`) directly in the sorted top-of-file `// ignore_for_file:` block before library annotations and directives. - Bump `code_builder` dependency constraint to `^4.12.0` (compatible with `sdk: ^3.10.0`, preserving `js_interop_gen`'s `sdk: ^3.12.0` constraint). - Remove the now-obsolete `replaceFirstMapped` regex workaround for `dart-lang/tools#2404` in `lib/src/interop_gen/transform.dart`. - Regenerate the expected test golden headers across `test/`.
Contributor
There was a problem hiding this comment.
Code Review
This pull request upgrades the code_builder dependency to ^4.12.0 and removes a manual string replacement workaround in transform.dart that was previously used to insert the no_leading_underscores_for_library_prefixes ignore comment. As a result, the generated test files have been updated to reflect the new, natively handled comment sorting and formatting. There are no review comments to assess, and I have no additional feedback to provide.
kevmoo
added a commit
to kevmoo/web.dart
that referenced
this pull request
Sep 20, 2026
Stacked on dart-lang#576. Remove 13 unreferenced declarations identified by `pkg:undead` (`--extra-roots=lib/src/dart_main.dart`): - `createSourceFile` in `lib/src/js/typescript.dart` - `InterfacelikeExtension` in `lib/src/js/webidl_api.dart` - 11 unused TypeScript AST extension types in `lib/src/js/typescript.types.dart` (`TSTypePredicateNode`, `TSNamedTupleMember`, `TSFunctionTypeNode`, `TSConstructorTypeNode`, `TSPropertyAccessExpression`, `TSNamespaceExport`, `TSExportAssignment`, `TSClassDeclaration`, `TSInterfaceDeclaration`, `TSPropertyDeclaration`, `TSMethodDeclaration`)
srujzs
approved these changes
Sep 28, 2026
kevmoo
added a commit
that referenced
this pull request
Sep 30, 2026
…ransformer (#580) * [js_interop_gen] Require `code_builder: ^4.12.0` and update golden headers `package:code_builder` `4.12.0` fixed dart-lang/tools#2404 by emitting scoped lint ignores (`no_leading_underscores_for_library_prefixes`) directly in the sorted top-of-file `// ignore_for_file:` block before library annotations and directives. - Bump `code_builder` dependency constraint to `^4.12.0` (compatible with `sdk: ^3.10.0`, preserving `js_interop_gen`'s `sdk: ^3.12.0` constraint). - Remove the now-obsolete `replaceFirstMapped` regex workaround for `dart-lang/tools#2404` in `lib/src/interop_gen/transform.dart`. - Regenerate the expected test golden headers across `test/`. * [js_interop_gen] Remove unused JS interop extension types and bindings Stacked on #576. Remove 13 unreferenced declarations identified by `pkg:undead` (`--extra-roots=lib/src/dart_main.dart`): - `createSourceFile` in `lib/src/js/typescript.dart` - `InterfacelikeExtension` in `lib/src/js/webidl_api.dart` - 11 unused TypeScript AST extension types in `lib/src/js/typescript.types.dart` (`TSTypePredicateNode`, `TSNamedTupleMember`, `TSFunctionTypeNode`, `TSConstructorTypeNode`, `TSPropertyAccessExpression`, `TSNamespaceExport`, `TSExportAssignment`, `TSClassDeclaration`, `TSInterfaceDeclaration`, `TSPropertyDeclaration`, `TSMethodDeclaration`) * [js_interop_gen] Deduplicate `UnionType` and `IntersectionType` via `UnionOrIntersectionType` Stacked on #577. - Extract `sealed class UnionOrIntersectionType extends DeclarationType` in `lib/src/ast/types.dart` (mirroring `_UnionOrIntersectionDeclaration`) to share `types`, `isNullable`, `declarationName`, `id`, `emit()`, `hashCode`, and `operator ==` across `UnionType` and `IntersectionType` (`pkg:dedupe` `cluster-47`). - Fix `UnionType.==` and `IntersectionType.==`, which previously checked `other is TupleType` due to copy-paste. - Consolidate `UnionType` / `IntersectionType` pattern cases in `lib/src/ast/helpers.dart` and `lib/src/interop_gen/transform/dependency_walker.dart`. - Write `dart_main.js` via an atomic temporary file rename in `compileDartMain()` (`lib/src/cli.dart`) so parallel `dart test` isolates in the same VM process cannot truncate `dart_main.js` while `node main.mjs` is loading it. * [js_interop_gen] Decompose `Transformer._transformType` and deduplicate type caching Stacked on #578. - Extract `_transformConditionalType`, `_transformTypeLiteral`, `_transformClosureType`, `_transformUnionType`, `_transformIntersectionType`, and `_transformIndexedAccessType` from `Transformer._transformType` in `lib/src/interop_gen/transform/transformer.dart`, reducing `Transformer._transformType` cognitive complexity from `190` to `59` (-68.9%). - Extract `_filterNonNullableTypeNodes` and `_getOrCreateCachedType` helpers on `Transformer`, eliminating duplicate union/intersection filtering and `typeMap` caching blocks (`pkg:dedupe` `cluster-45`, `cluster-51`, and `cluster-52`). * Enforce symmetric equality and length check in UnionOrIntersectionType.== * [js_interop_gen] Split union/intersection AST types and extract TypeTransformer * chore(js_interop_gen): restore original inline comments in extracted type helpers * chore(js_interop_gen): revert unrelated formatting change in translator.dart * fix(js_interop_gen): update js_type_supertypes for Dart 3.12 and prefer JSObject over JSIterable * fix(js_interop_gen): write compileDartMain output atomically * refactor(js_interop_gen): use firstWhere in computeJsTypeSupertypes
copybara-service Bot
pushed a commit
to dart-lang/sdk
that referenced
this pull request
Oct 6, 2026
Revisions updated by `dart tools/rev_sdk_deps.dart`. native (https://github.com/dart-lang/native/compare/f628b26..27f7678): 27f767827 Mon Sep 28 14:51:28 2026 +0200 Daco Harkes [hooks_runner] Remove `KernelAssets` and `Target` (dart-lang/native#3703) ddc7d6deb Mon Sep 28 05:40:03 2026 +0200 Jakob Kordež [ffigen] Skip typedefs to function pointers with unsupported parameter types (dart-lang/native#3694) 177d283d9 Mon Sep 28 04:30:28 2026 +0200 Jakob Kordež [ffigen] Generate bindings for C++ enums, structs and unions nested in namespaces and records (dart-lang/native#3644) 5ee8f67d8 Mon Sep 28 11:39:14 2026 +1000 Liam Appelbe [objective_c] Clarify block isolate scoping (dart-lang/native#3692) 25f090116 Fri Sep 25 12:09:12 2026 +1000 Liam Appelbe [ffigen][jnigen] Deprecate YAML config (dart-lang/native#3654) 8364413eb Fri Sep 25 10:09:50 2026 +1000 Liam Appelbe [jnigen] Document nullability (dart-lang/native#3690) e8d518574 Thu Sep 24 18:02:46 2026 +1000 Liam Appelbe [ffigen] Code snippet-ify ffigen and objective_c (dart-lang/native#3685) 663385955 Thu Sep 24 03:21:53 2026 +0300 Manar Elhabbal [ffigen] prevent setting both cpp and objectiveC in ffigenerator (dart-lang/native#3687) 1cf40952a Thu Sep 24 09:27:09 2026 +1000 Liam Appelbe [objective_c] Remove arm64e build hack (dart-lang/native#3680) c44550b6e Wed Sep 23 13:01:33 2026 +0200 Simon Binder [web_assets] Scaffold package (dart-lang/native#3610) 57b4bad69 Wed Sep 23 16:21:27 2026 +1000 Liam Appelbe [swift2objc] Code snippet-ify swift2objc (dart-lang/native#3684) 5cee1d0be Wed Sep 23 10:16:29 2026 +0530 Rachit Vikram Singh [ffigen] Add Input.appendCompilerOptions to append clang args to defaults (`#3630`) (dart-lang/native#3676) 225a648df Wed Sep 23 14:37:13 2026 +1000 Liam Appelbe [jnigen] Code snippet-ify jnigen and co (dart-lang/native#3641) 2030decf9 Wed Sep 23 13:51:24 2026 +1000 Liam Appelbe [infra] Move snippets_tool to its own package (dart-lang/native#3683) 6fa2beea2 Wed Sep 23 12:14:28 2026 +1000 Liam Appelbe [objective_c] Revert `#3664` (dart-lang/native#3681) ed7605f8a Tue Sep 22 12:03:22 2026 +0530 Sivapriya [jni] Add deep conversion utils (dart-lang/native#3635) 8574b7422 Tue Sep 22 08:31:11 2026 +0200 Lukas Klingsbo [ffigen] Allow package:cli_util 0.5.x and 0.6.x (dart-lang/native#3673) test (https://github.com/dart-lang/test/compare/9946c95..4f92d53): 4f92d530 Fri Sep 25 16:46:22 2026 -0700 Nate Bosch Unskip a test on windows (dart-lang/test#2772) 7fb84866 Fri Sep 25 14:52:39 2026 -0700 Nate Bosch Bundle skips at the end of the GitHub reporter (dart-lang/test#2768) 603e5ec5 Thu Sep 24 14:00:41 2026 -0700 Nate Bosch Clean up the runner's temporary directories (dart-lang/test#2763) 4bf04d90 Thu Sep 24 12:41:15 2026 -0700 Nate Bosch Refactor signal handling in executable.dart (dart-lang/test#2765) 2c660a84 Tue Sep 22 15:33:34 2026 -0700 Nate Bosch Regenerate mono_repo output (dart-lang/test#2767) tools (https://github.com/dart-lang/tools/compare/3614ce0..d87eaf7): d87eaf79 Thu Sep 24 08:31:33 2026 -0700 Kevin Moore fix(benchmark_harness): migrate subprocess spawning to package:cli_util (dart-lang/tools#2585) 8ccf8ccf Wed Sep 23 05:09:10 2026 +0530 Aman Maurya [string_scanner] Extract a mixin for LineScanner and deduplicate eager scanning logic (dart-lang/tools#2569) afcdd6d9 Tue Sep 22 15:38:07 2026 +0200 Morgan :) Document that watch events converge on filesystem state. (dart-lang/tools#2607) f2157cbc Tue Sep 22 04:52:58 2026 +0300 Hasan Armoush [code_builder] Add null-aware cascades, cascade index, and fluent cascade helpers (dart-lang/tools#2540) web (https://github.com/dart-lang/web/compare/e5c6c02..ec71a4c): ec71a4c Mon Sep 28 10:07:01 2026 -0700 Kevin Moore [js_interop_gen] Require `code_builder: ^4.12.0` and update golden headers (dart-lang/web#576) [email protected] Change-Id: I766bc5b2b1297e3251990821bb73387ba685e39b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/556320 Commit-Queue: Nate Bosch <[email protected]> Reviewed-by: Brian Quinlan <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
package:code_builder4.12.0fixed dart-lang/tools#2404by emitting scoped lint ignores (
no_leading_underscores_for_library_prefixes)directly in the sorted top-of-file
// ignore_for_file:block before libraryannotations and directives.
code_builderdependency constraint to^4.12.0(compatible withsdk: ^3.10.0, preservingjs_interop_gen'ssdk: ^3.12.0constraint).replaceFirstMappedregex workaround fordart-lang/tools#2404inlib/src/interop_gen/transform.dart.test/.