Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/angular/angular.git. Pull mirroring updated .
  1. Mar 17, 2023
  2. Mar 16, 2023
  3. Mar 15, 2023
  4. Mar 13, 2023
  5. Mar 10, 2023
  6. Mar 09, 2023
  7. Mar 08, 2023
  8. Mar 07, 2023
  9. 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