Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/angular/angular.git. Pull mirroring updated .
  1. Mar 09, 2023
    • Jessica Janiuk's avatar
      release: cut the v15.2.2 release · 75d5bfda
      Jessica Janiuk authored
      15.2.2
      75d5bfda
    • Paul Gschwendtner's avatar
      refactor(compiler-cli): remove unused class decorator downlevel code (#49351) · 99375081
      Paul Gschwendtner authored
      The decorator downlevel transform is never used for actual class
      decorators because Angular class decorators rely on immediate execution
      for JIT. Initially we also supported downleveling of class decorators
      for View Engine library output, but libraries are shipped using partial
      compilation output and are not using this transform anymore.
      
      The transform is exclusively used for JIT processing, commonly for
      test files to help ease temporal dead-zone/forward-ref issues. We can
      remove the class decorator downlevel logic to remove technical debt.
      
      PR Close #49351
      99375081
  2. Mar 08, 2023
  3. Mar 07, 2023
  4. Mar 04, 2023
    • Andrew Scott's avatar
      refactor(migrations): Move ChangeTracker to common utils (#49308) · ac59054c
      Andrew Scott authored
      The `ChangeTracker` is generally useful and could be used by a lot of
      migrations instead of having to rewrite similar boilerplate.
      
      PR Close #49308
      ac59054c
    • Paul Gschwendtner's avatar
      test: fix router testing example breaking due to non-existent stub (#49293) · b90b3299
      Paul Gschwendtner authored
      We recently migrated the testing example to use the router testing
      harness. There was one instance of the previous non-`TestBed` examples
      left that still relies on a stub that has already been removed.
      
      This example is not used anywhere and we should rather encourage
      a single pattern of testing. i.e. the harness as per recent changes.
      
      This commit removes the broken file.
      
      PR Close #49293
      b90b3299
    • Paul Gschwendtner's avatar
      build: always preserve symlinks when executing e2e test commands (#49293) · 4ae753d8
      Paul Gschwendtner authored
      Currently, examples with test commands like `ng build` are *never*
      using the local version of `//packages/compiler-cli`. This is because
      the CLI is invoked accidentally from within `external/aio_example_deps`.
      
      Since the CLI relies on importing the compiler-cli, it will always
      resolve the dependency from that directory- causing it to be always
      the version installed via `aio/examples/tools/shared/package.json`.
      
      We should never resolve symlinks and escape the e2e sandbox. That way
      the compiler-cli would be resolved properly and could also become the
      locally built one, depending on the test mode (i.e. npm or "local").
      
      PR Close #49293
      4ae753d8
    • Paul Gschwendtner's avatar
      build: ensure chromium is not using sandbox within Bazel sandbox for AIO example e2e tests (#49293) · f859de3e
      Paul Gschwendtner authored
      Chromium is launched via Karma from within the Bazel AIO example e2e
      tests. This breaks depending on the platform and sandbox mechanism used.
      
      We should never use Chromium's sandbox on top of Bazel's sandbox
      invocation. The Angular CLI exposes a browser exactly for this use-case.
      
      PR Close #49293
      f859de3e
    • Paul Gschwendtner's avatar
      build: fix AIO local e2e examples picking up incorrect dependencies (#49293) · 5bb4407c
      Paul Gschwendtner authored
      Whenever we run example tests using the local framework packages, the
      e2e tests will have the local framework packages symlinked in the
      `node_modules`.
      
      This works well in general, but due to NodeJS by default resolving
      symlinks to the target location, NodeJS will end up looking for
      transitive dependencies in the `bazel-bin` instead of in the example
      `node_modules` folder. This means that we end up incorrectly resolving
      older versions of `@angular/core` that end up existing in the main
      project dependencies. This causes errors like:
      
      ```
      Error: ../../home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/bazel-out/k8-fastbuild/bin/packages/common/npm_package/http/testing/index.d.ts:12:21 - error TS2307: Cannot find module '@angular/common/http' or its corresponding type declarations.
      
      12 import * as i1 from '@angular/common/http';
                             ~~~~~~~~~~~~~~~~~~~~~~
      
      Error: ../../home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/bazel-out/k8-fastbuild/bin/packages/common/npm_package/index.d.ts:1630:18 - error TS2707: Generic type 'ɵɵDirectiveDeclaration' requires between 6 and 8 type arguments.
      
      1630     static ɵdir: i0.ɵɵDirectiveDeclaration<NgClass, "[ngClass]", never, { "klass": "class"; "ngClass": "ngClass"; }, {}, never, never, true, never>;
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ```
      
      We can fix this by properly ensuring that NodeJS does not resolve
      symlinks, but rather preserves them.
      
      In the error above, the e2e tests end up accidentally resolving
      `@angular/core` v14 that comes from `@angular/benchpress`. Angular
      Benchpress is installed via `@angular/build-tooling` in the project
      root.
      
      PR Close #49293
      5bb4407c
    • Paul Gschwendtner's avatar
      test: fix node and dom types conflict in `practical-observable-usage` example (#49293) · 5e85c138
      Paul Gschwendtner authored
      This causes the e2e tests to fail. The tests were compiled using a
      tsconfig with `lib=dom`, but the tests explicitly tried to pull in the
      Node types. This causes a conflict for e.g. `AbortController` types.
      
      PR Close #49293
      5e85c138
    • Paul Gschwendtner's avatar
      build(docs-infra): fix example e2e tests not failing properly in some situations (#49293) · b23fa5e9
      Paul Gschwendtner authored
      The `run-example-e2e` script does not properly fail if configured
      tests of examples are failing. This happens when a CLI example
      configures multiple tests in the `example-config`. Due to incorrect
      usage of promises in combination with reduce, only the last test
      command had an effect on the overall test conclusion.
      
      A similar issue seems to occur with SystemJS Protractor tests.
      
      This commit fixes the problem and also cleans up the code a little
      by switching it to `async/await`.
      
      PR Close #49293
      b23fa5e9
    • Paul Gschwendtner's avatar
      build: format `run-example-e2e.mjs` with prettier (#49293) · 05db4797
      Paul Gschwendtner authored
      Formats the `run-example-e2e.mjs` file with prettier to ease
      future diffs.
      
      PR Close #49293
      05db4797
    • Matthieu Riegler's avatar
      refactor(core): Remove ɵivyEnabled (#49296) · 6b9ec0b8
      Matthieu Riegler authored
      The unit tests have been updated in #44120, this export is unused now.
      
      PR Close #49296
      6b9ec0b8
    • Matthieu Riegler's avatar
      docs: fix links on untyped forms (#49306) · b0a9e674
      Matthieu Riegler authored
      PR Close #49306
      b0a9e674
    • Matthieu Riegler's avatar
      refactor(common): remove `BrowserPlatformLocation` from private exports. (#49301) · f321e65c
      Matthieu Riegler authored
      `BrowserPlatformLocation` was add to the public API by #48488.
      
      PR Close #49301
      f321e65c
  5. Mar 03, 2023
  6. Mar 02, 2023
  7. Mar 01, 2023