angular/packages/core/test
arturovt 4a23f6e79d refactor(core): wrap checkNoChanges body in if (ngDevMode) for better tree-shaking (#63387)
The `checkNoChanges` method previously used an early-return guard:

  if (!ngDevMode) return;
  // dev-only code ...

In production builds, `ngDevMode` is replaced with `false`, so the
guard compiles to `return;`. However, bundlers like ESBuild
still keep the remaining statements after the return as unreachable
code instead of removing them. This leaves behind unnecessary dead
code in the output.

This commit updates the method to instead wrap the full body:

  if (ngDevMode) {
    // dev-only code ...
  }

With this change, the method collapses to an empty function in
production builds:

  checkNoChanges() {}

This ensures that the dev-only logic and its dependencies
(e.g. `checkNoChangesInternal`, `UseExhaustiveCheckNoChanges`) can be
fully tree-shaken, reducing bundle size.

PR Close #63387
2025-09-15 21:11:40 +00:00
..
acceptance refactor(compiler-cli): Add a diagnostic to detect forbiden invocations of required initializers (#63614) 2025-09-15 19:34:32 +00:00
animation_utils refactor(core): dispatch enter and leave animations at the right times (#63710) 2025-09-10 22:24:31 +00:00
authoring build: rename defaults2.bzl to defaults.bzl (#63384) 2025-08-25 15:45:46 -07:00
bundling refactor(core): wrap checkNoChanges body in if (ngDevMode) for better tree-shaking (#63387) 2025-09-15 21:11:40 +00:00
change_detection refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
compiler build: rename defaults2.bzl to defaults.bzl (#63384) 2025-08-25 15:45:46 -07:00
debug refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
di refactor(core): include DI path into cyclic dependency error message (#50902) 2025-07-10 10:35:12 -07:00
dom build: migrate all ts_library in packages/core/test (#61472) 2025-05-20 10:00:43 +00:00
hydration fix(core): catch hydration marker with implicit body tag (#60429) 2025-03-19 15:51:36 +01:00
i18n refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
legacy_animation refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
linker refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
metadata fix(core): properly recognize failed fetch responses when loading external resources in JIT (#62992) 2025-08-05 10:10:56 +02:00
reflection refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
render3 refactor(core): dispatch enter and leave animations at the right times (#63710) 2025-09-10 22:24:31 +00:00
resource build: rename defaults2.bzl to defaults.bzl (#63384) 2025-08-25 15:45:46 -07:00
sanitization build: migrate all ts_library in packages/core/test (#61472) 2025-05-20 10:00:43 +00:00
signals build: rename defaults2.bzl to defaults.bzl (#63384) 2025-08-25 15:45:46 -07:00
strict_types build: rename defaults2.bzl to defaults.bzl (#63384) 2025-08-25 15:45:46 -07:00
testability refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
util refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
zone build: migrate all ts_library in packages/core/test (#61472) 2025-05-20 10:00:43 +00:00
application_config_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
application_init_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
application_module_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
application_ref_integration_spec.ts refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
application_ref_spec.ts refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
BUILD.bazel build: rename defaults2.bzl to defaults.bzl (#63384) 2025-08-25 15:45:46 -07:00
change_detection_scheduler_spec.ts refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
component_fixture_spec.ts refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
defer_fixture_spec.ts fix(core): unable to retrieve defer blocks in tests when component injects ViewContainerRef (#62156) 2025-06-23 14:24:46 +02:00
dev_mode_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
directive_lifecycle_integration_spec.ts refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
error_handler_spec.ts build: migrate to use web test runner rules (#62292) 2025-06-26 17:19:10 +00:00
event_emitter_spec.ts refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
fake_async_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
forward_ref_integration_spec.ts build: migrate all ts_library in packages/core/test (#61472) 2025-05-20 10:00:43 +00:00
runtime_error_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
test_bed_effect_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
test_bed_spec.ts refactor(core): Update tests for zoneless by default (#63672) 2025-09-09 15:07:24 -07:00
transfer_state_spec.ts refactor(core): convert scripts within packages/core/test to relative imports (#60227) 2025-03-25 10:58:00 -07:00
util_spec.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00