https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
0dfb4e8 refactor(animations): fix typo in transition animations spec file (#42763) fix the typo "mean't" in the transition_animation_engine spec file to "meant" (the typo is simply in a code comment so the change does not have any impact) PR Close #42763 20 July 2021, 00:13:46 UTC
97fa1cf build: add configuration for caretaker handoff (#42859) Add configuration information about groups for caretaker handoff assistant. PR Close #42859 15 July 2021, 20:34:59 UTC
9d4b580 feat(dev-infra): create caretaker handoff assistant to update github team membership (#42859) Create a handoff assistant, currently only assists in updating github team membership for caretaking team. PR Close #42859 15 July 2021, 20:34:59 UTC
0ef8b01 docs: remove reference to an obsolete design doc (#42842) The type checking design document is no longer relevant. This PR removes the reference to it. Close #42424. PR Close #42842 15 July 2021, 20:24:58 UTC
c06cbb2 docs: remove references to future in topic (#42841) Fixes #25704 PR Close #42841 15 July 2021, 20:23:28 UTC
688b1c5 docs(docs-infra): remove unnecessary "Podcast" from happy-angular podcast's title (#42756) PR Close #42756 15 July 2021, 20:22:04 UTC
12ad314 docs(docs-infra): add the angular show to the podcast resources (#42756) PR Close #42756 15 July 2021, 20:22:04 UTC
8b9aea9 docs(docs-infra): podcast keys cleanup in resources.json (#42756) PR Close #42756 15 July 2021, 20:22:04 UTC
1d9d74a docs(docs-infra): remove deep dive from podcast resources (#42756) PR Close #42756 15 July 2021, 20:22:03 UTC
d4567b2 refactor(core): expand error logging when the JIT compiler is not available (#42693) If a decorator or partial declaration has not been AOT compiled, then the compiler is needed at runtime to be able to JIT compile the code. However, it may occur that the compiler is not available, if it has not been loaded into the application. The error that was reported in this case did not provide insight into which class requested compilation, nor did it differentiate between decorators vs. partial declarations. This commit expands the error logging to provide better insight into the class that initiated JIT compilation and offers a specialized error message for partial declarations. This should help a developer better understand why the error occurs and what can be done to resolve it. Closes #40609 PR Close #42693 15 July 2021, 20:19:05 UTC
e6d520f perf(compiler-cli): optimize cycle detection using a persistent cache (#41271) For the compilation of a component, the compiler verifies that the imports it needs to generate to reference the used directives and pipes would not create an import cycle in the program. This requires visiting the transitive import graphs of all directive/pipe usage in search of the component file. The observation can be made that all directive/pipe usages can leverage the exploration work in search of the component file, thereby allowing sub-graphs of the import graph to be only visited once instead of repeatedly per usage. Additionally, the transitive imports of a file are no longer collected into a set to reduce memory pressure. PR Close #41271 15 July 2021, 20:13:49 UTC
e6f01d7 revert: docs: remove references to Trusted Types due to incompatibility with Webpack 5 (#42796) Re-add reference to Trusted Types since the issue #41754 is resolved in 12.1.1. This reverts commit 7254fbc2baa1455e3b24400597342843df3017f2. PR Close #42796 14 July 2021, 18:14:08 UTC
fa3e7f8 docs: remove End-to-end test files structure (#42844) Since version 12, the Angular CLI no longer generates end-to-end tests. PR Close #42844 14 July 2021, 18:12:42 UTC
8d184f9 docs: update incorrect bullet text (#42839) Fixes #42286 PR Close #42839 14 July 2021, 18:11:56 UTC
2a61728 release: cut the v12.1.2 release (#42856) 14 July 2021, 17:47:57 UTC
6301354 fix(core): associate the NgModule scope for an overridden component (#42817) When using `TestBed.overrideComponent`, the overridden component would incorrectly lose access to its NgModule's declaration scope if the NgModule had been imported into the testing NgModule as a `ModuleWithProviders`, e.g. using a `forRoot` call. The issue occurred as the `TestBed` compiler did not consider NgModules that had been imported as a `ModuleWithProviders` when associating NgModules with component overrides. This caused the overridden component to be compiled standalone, meaning that it does not have access to its NgModule's declarations. This commit extends the logic for traversing the NgModule graph to also consider `ModuleWithProviders` imports. Fixes #42734 PR Close #42817 13 July 2021, 22:59:28 UTC
9ebd41e fix(core): allow proper type inference when `ngFor` is used with a `trackBy` function (#42692) In #41995 the type of `TrackByFunction` was changed such that the declaration of a `trackBy` function did not cause the item type to be widened to the `trackBy`'s item type, which may be a supertype of the iterated type. This has introduced situations where the template type checker is now reporting errors for cases where a `trackBy` function is no longer assignable to `TrackByFunction`. This commit fixes the error by also including the item type `T` in addition to the constrained type parameter `U`, allowing TypeScript to infer an appropriate `T`. Fixes #42609 PR Close #42692 13 July 2021, 21:08:06 UTC
34b2669 docs: update routing-overview topic with link to custom route matches tutorial (#42837) PR Close #42837 13 July 2021, 21:07:16 UTC
d654c79 fix(common): re-sort output of `KeyValuePipe` when `compareFn` changes (#42821) Previously, if only the `compareFn` changed but the data itself did not, then the `KeyValuePipe` did not re-sort the output. Fixes #42819 PR Close #42821 13 July 2021, 18:33:21 UTC
b101ad0 docs: clarify voting phase for feature requests (#42663) PR Close #42663 12 July 2021, 22:25:46 UTC
75a11d9 Revert "refactor(dev-infra): add spawnSync to child process utils, normalize naming of child-process utils (#42394)" (#42829) This reverts commit 08444c6679e88034f021cc4ce8d1a0dd85ac4e46. PR Close #42829 12 July 2021, 22:24:55 UTC
2cdf074 Revert "refactor(dev-infra): remove usages and dependency on shelljs (#42394)" (#42829) This reverts commit f0d857eff876033359a7c284171775041f75db5d. PR Close #42829 12 July 2021, 22:24:55 UTC
2566cbb fix(compiler): add mappings for all HTML entities (#42818) Angular inserts text either through text nodes (`document.createTextNode`) or using `textContent`, but the drawback of doing so is that HTML entities won't be decoded. In order to work around it, the compiler has some logic that maps the entities to their unicode representation which can safely be inserted. The problem is that our current mapping is arbitrarily limited which means that some entities will be mapped while others will throw an error, even though they're valid. These changes expand the list to cover all entities that are supported by the HTML spec. Fixes #41186. PR Close #42818 12 July 2021, 21:41:21 UTC
afeab76 refactor(dev-infra): remove usages and dependency on shelljs (#42394) Remove usages of shelljs and instead use spawn/spawnSync. PR Close #42394 12 July 2021, 21:39:08 UTC
bfb738c refactor(dev-infra): add spawnSync to child process utils, normalize naming of child-process utils (#42394) Create a `spawnSync` command for common usage, additionally update naming to use `spawn` instead of `spawnWithDebugOutput` PR Close #42394 12 July 2021, 21:39:08 UTC
eeef3e7 fix(dev-infra): transitive targets cannot be resolved by API extractor (#42828) For API golden tests not running against a NPM package, we extract all transitive declarations of the specified `data` targets. This is necessary because API extractor needs to resolve other targets that have been linked by the Bazel NodeJS rules. The linker by default only provides access to JavaScript sources, but the API extractor is specifically concerned with type definitions that we need to manually extract. PR Close #42828 12 July 2021, 21:38:05 UTC
c2e5d76 fix(dev-infra): do not include all types in api golden test (#42828) The API golden test tool should not include all types from the `node_modules/`. This results in unnecessary type resolution when the API golden tool is run outside of sandbox (i.e. on windows or with `bazel run` for accept). PR Close #42828 12 July 2021, 21:38:05 UTC
d249665 feat(dev-infra): better caching for browser archive contents (#42814) Adds better caching for browser archives and their extraction. This is done because the archives are currently extracted as a build action and these are actions are invalidated frequently, causing flakiness on the CI and slow-down in local development. Here is an example flaky error on the CI (that surfaces often with RBE execution): ``` ERROR: /home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/external/npm/@angular/dev-infra-private/bazel/browsers/chromium/BUILD.bazel:22:17: Extracting ../org_chromium_chromium_amd64/file/chrome-linux.zip failed: (Exit 34): extract.sh failed: error executing command external/io_bazel_rules_webtesting/web/internal/extract.sh external/org_chromium_chromium_amd64/file/chrome-linux.zip ... (remaining 2 argument(s) skipped). Note: Remote connection/protocol failed with: execution failed ``` We fix this by introducing a new rule that downloads a browser archive and unpacks it directly into a Bazel repository. Before this change, the archive would just be downloaded but extracted later as part of a build action. This is unnecessary and results in less efficient caching as build actions are invalidated more often, especially if developers run `bazel clean` in between. The root cause on why the extraction often fails in RBE containers is unclear. It's unclear why the extacted archive is not cached properly as part of a build action (most likely some hermeticity issue within `rules_webtesting`, but it seems more Bazel-idiomatic to unpack the archives as part of the repository anyway, and this solves the flakiness issue. PR Close #42814 12 July 2021, 21:37:10 UTC
4f8a728 docs: move start tutorial alert for clarity (#42764) The alert was placed in the middle of a set of steps, which was causing some confusion. This has been moved to the above the steps in the section and slightly reworded to make it clearer. Fixes #42752 PR Close #42764 12 July 2021, 20:20:13 UTC
04472d2 refactor: add override keyword to members implementing abstract declarations (#42512) In combination with the TS `noImplicitOverride` compatibility changes, we also want to follow the best-practice of adding `override` to members which are implemented as part of abstract classes. This commit fixes all instances which will be flagged as part of the custom `no-implicit-override-abstract` TSLint rule. PR Close #42512 12 July 2021, 20:11:20 UTC
8dbae89 feat(dev-infra): add lint rule to enforce no-implicit-override abstract members (#42512) TypeScript introduced a new flag called `noImplicitOverride` as part of TypeScript v4.3. This flag introduces a new keyword called `override` that can be applied to members which override declarations from a base class. This helps with code health as TS will report an error if e.g. the base class changes the method name but the override would still have the old method name. Similarly, if the base class removes the method completely, TS would complain that the memeber with `override` no longer overrides any method. A similar concept applies to abstract methods, with the exception that TypeScript's builtin `noImplicitOverride` option does not flag members which are implemented as part of an abstract class. We want to enforce this as a best-practice in the repository as adding `override` to such implemented members will cause TS to complain if an abstract member is removed, but still implemented by derived classes. More details: https://github.com/microsoft/TypeScript/issues/44457. PR Close #42512 12 July 2021, 20:11:20 UTC
6e13179 refactor: ensure compatibility with noImplicitOverride for examples (#42512) Adds the `override` keyword to the `examples` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:20 UTC
1a66199 refactor(zone.js): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `zone.js` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:20 UTC
9e8a919 refactor(localize): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `localize` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:20 UTC
367ef56 refactor(language-service): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `language-service` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:20 UTC
fdc6786 refactor(service-worker): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `service-worker` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:20 UTC
b9c1604 refactor(forms): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `forms` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
859eb13 refactor(elements): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `elements` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
1f84f01 refactor(common): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `common` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
462c157 refactor(benchpress): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `benchpress` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
9136640 refactor(upgrade): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `upgrade` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
b98b0da refactor(router): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `router` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
dffb7c5 refactor(platform-server): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `platform-server` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
a926402 refactor(platform-browser-dynamic): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `platform-browser-dynamic` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
9067d36 refactor(platform-browser): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `platform-browser` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:19 UTC
dc661eb refactor(core): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `core` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:18 UTC
c1f9d80 refactor(animations): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `animations` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:18 UTC
2afaaf0 refactor(dev-infra): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `dev-infra` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:18 UTC
0c9c8f5 refactor(compiler-cli): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `compiler-cli` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:18 UTC
cf27076 refactor(compiler): ensure compatibility with noImplicitOverride (#42512) Adds the `override` keyword to the `compiler` sources to ensure compatibility with `noImplicitOverride`. PR Close #42512 12 July 2021, 20:11:18 UTC
48010b3 build: enable noImplicitOverride in project (#42512) Enables the `noImplicitOverride` option to improve overall codehealth in the repository. PR Close #42512 12 July 2021, 20:11:18 UTC
91a576d refactor(core): optimize the implementation about finding context from error in ErrorHandler (#42581) in _findContext method, use conditional operator check whether the params 'error' exists and then us reccursion way to find context in original error if getDebugContext's result does not exist. PR Close #42581 12 July 2021, 19:00:20 UTC
2050d84 build: update all symbol extractor (#42581) update all symbol extractor by running 'yarn symbol-extractor:update' script PR Close #42581 12 July 2021, 19:00:19 UTC
e1d6124 refactor(core): optimize the implementation about finding context from error in ErrorHandler (#42581) in _findContext method, use conditional operator check whether the params 'error' exists and then use nullish coalescing operator instead conditional operator when getDebugContext's result does not exist. PR Close #42581 12 July 2021, 19:00:19 UTC
65330f0 fix(compiler): incorrect context object being referenced from listener instructions inside embedded views (#42755) Currently unless a listener inside of an embedded view tries to reference something from the parent view, or if the reference is a local ref, we don't generate the view restoration instructions and we allow for the value to be picked up from the context object in the function parameters. The problem is that the listener is only run during creation mode and the context object may have been swapped out afterwards. These changes fix the issue by always generating the view restoration instructions for listeners inside templates. Fixes #42698. PR Close #42755 12 July 2021, 18:58:19 UTC
17d3de2 fix(compiler-cli): properly emit literal types when recreating type parameters in a different file (#42761) In #42492 the template type checker became capable of replicating a wider range of generic type parameters for use in template type-check files. Any literal types within a type parameter would however emit invalid code, as TypeScript was emitting the literals using the text as extracted from the template type-check file instead of the original source file where the type node was taken from. This commit works around the issue by cloning any literal types and marking them as synthetic, signalling to TypeScript that the literal text has to be extracted from the node itself instead from the source file. This commit also excludes `import()` type nodes from being supported, as their module specifier may potentially need to be rewritten. Fixes #42667 PR Close #42761 12 July 2021, 18:48:34 UTC
2ed5a2d docs(core): fix `ViewChildren` code examples to avoid TS error (#42816) Add a non-null assertion (`!`) in `ViewChildren` code examples to avoid a TypeScript error due to uninitialized property. Fixes #42811 PR Close #42816 12 July 2021, 16:48:30 UTC
7dad7df build: update to rules_nodejs v4.0.0-beta.0 (#42813) Updates the Bazel NodeJS rules to v4.0.0-beta.0. This is necessary so that the Angular components repo can update, and it's generally good to stay as up-to-date as possible with the Bazel rules as it's easy to fall behind, and updating early allows us to discover issues affecting our tooling earlier (where they are easier to address due to e.g. potential breaking change policy). PR Close #42813 12 July 2021, 16:46:34 UTC
88b2ff2 refactor(bazel): compatibility with `rules_nodejs` v4.0.0 (#42813) This commit applies changes to `@angular/bazel` which are necessary to support the Bazel NodeJS rules v4.0.0. The Bazel NodeJS rules no longer support the `_tslibrary` option for the `LinkablePackageInfo` provider and therefore we need to stop using it. Due to this removal, we also need to add two new attributes called `package_name` and `package_path` so that the API of `ng_module` matches `ts_library`. Note: This is denoted as `refactor` as we currently are not able to merge feature commits into patch branches, but we want the tooling to not diverge significantly between the patch and next branch. It is planned to update the merge tooling to allow for such changes to land. PR Close #42813 12 July 2021, 16:46:34 UTC
7b5405b build: remove `skydoc` and `rules_sass` from repository (#42813) Skydoc is no longer used as `@angular/bazel` is no longer a public API. The Sass rules were only used in a single place in the repo where Sass is not really needed and has just been added by accident most likely. We want to remove the Sass dependency in preparation for Rules NodeJS v4.x where the Sass rules currently still use an older version of `@bazel/worker` that is incompatible. PR Close #42813 12 July 2021, 16:46:34 UTC
d8d7784 build: remove outdated note when updating bazel version (#42813) We removed `bazel-toolchains` from the repository since dev-infra provides the RBE platforms now (in a way where they are not reliant on the Bazel version), so the comment in `.bazelversion` can be removed. PR Close #42813 12 July 2021, 16:46:34 UTC
f6957b2 fix(dev-infra): `ng_rollup_bundle` rule should error if import cannot be resolved (#42813) Rollup just prints a warning if an import cannot be resolved and ends up being treated as an external dependency. This in combination with the `silent = True` attribute for `rollup_bundle` means that bundles might end up being extremely small without people noticing that it misses actual imports. To improve this situation, the warning is replaced by an error if an import cannot be resolved. This unveiles an issue with the `ng_rollup_bundle` macro from dev-infra where imports in View Engine were not resolved but ended up being treated as external. This did not prevent benchmarks using this macro from working because the ConcatJS devserver had builtin resolution for workspace manifest paths. Though given the new check for no unresolved imports, this will now cause errors within Rollup, and we need to fix the resolution. We can fix the issue by temporarily enabling workspace linking. This does not have any performance downsides. To enable workspace linking (which we might need more often in the future given the linker taking over patched module resolution), we had to rename the `angular` dependency to a more specific one so that the Angular linker could link into `node_modules/angular`. PR Close #42813 12 July 2021, 16:46:34 UTC
8267d25 build: no longer ship ecmascript module files within NPM packages (#42809) We accidentally started shipping `.mjs` files for the following modules (or module paths) as of the v12.1.0-next.2 tag: - `@angular/compiler-cli` - `@angular/common/locales` - `@angular/bazel` - `@angular/benchpress` - `@angular/core/schematics` - `@angular/elements/schematics` - `@angular/language-service` - `@angular/localize/schematics`, - `@angular/localize/tools` - `zone.js` This did not cause any issues for consumers but we want to not ship these files without having them wired up in `package.json` files. We accidentally started shipping these `.mjs` files due to a NodeJS update which wired up the other JavaScript module output flavors in the `pkg_npm` rule. https://github.com/bazelbuild/rules_nodejs/commit/911529fd364eb3ee1b8ecdc568a9fcf38a8b55ca PR Close #42809 12 July 2021, 16:42:02 UTC
71f4286 feat(dev-infra): add bazel rule for extracting JavaScript module flavors from targets (#42809) Introduces a rule that collects declared JavaScript module output files from a list of dependencies based on a configurable JavaScript module provider. The extracted outputs are exposed within the `DefaultInfo` provider. Targets defined using this rule can be used as input for rules that require JavaScript sources, or if there are multiple JavaScript output variants defined for a target while for example only the `JSModuleInfo` outputs are of interest. As an example: This rule is helpful in combination with `ts_library` and `ng_module` as those rule expose multiple output flavors (which are distinguishable by the JavaScript module providers as imported from `providers.bzl`). i.e. these rules expose flavors for named AMD modules and ECMAScript module output. If we want to ship a NPM package only using ECMAScript modules for example, we could extract all `JSEcmaScriptModuleInfo`-denoted output and feed that into the `pkg_npm` rule, compared to bringing in all output flavors. For reference: https://github.com/bazelbuild/rules_nodejs/blob/stable/packages/typescript/internal/build_defs.bzl#L334-L337 PR Close #42809 12 July 2021, 16:42:01 UTC
12a9d21 docs(core): edit and add docs for ng-template (#42704) PR Close #42704 12 July 2021, 16:39:30 UTC
1c31828 refactor(router): Adjust behavior for computed navigation restoration (#42751) When another navigation is triggered during an in-process navigation and the `canceledNavigationResolution` is `'computed'`, we should not attempt to restore the browser history using `history.go`. Doing that would trigger a third navigation through the router which would conflict with the new navigation that we were trying to process. Instead, we treat this as a redirect and skip the history restoration attempt. This acts similarly to returning `UrlTree` from a guard. Fixes issue described in https://github.com/angular/angular/pull/38884#issuecomment-863767152 PR Close #42751 09 July 2021, 17:19:10 UTC
51fd5e3 fix(docs-infra): fix margin of social icon on small screens (#42790) This commit fixes the margin of the social icons on small screens. This mainly affects screens between 420px and 480px, where only one social icon is show (due to limited space) but not necessarily the first one (in DOM order). **Before:** ![social icon before][1] **After:** ![social icon after][2] [1]: https://user-images.githubusercontent.com/8604205/124788616-2f5f0200-df52-11eb-9ec2-9e46b90cd286.png [2]: https://user-images.githubusercontent.com/8604205/124788623-2ff79880-df52-11eb-90ec-31b04973de68.png PR Close #42790 09 July 2021, 17:15:28 UTC
723342a docs: fix http example to show actual message in console (#42773) Previously, the error message in the console would print `[object Object]` and not the actual error message. With this change, the error message is printed in the console. PR Close #42773 09 July 2021, 17:14:35 UTC
a8d5a31 docs(core): initializeApp method should return function (#42743) Update packages/core/src/application_init.ts Update application_init.ts Update application_init.ts Co-Authored-By: George Kalpakas <kalpakas.g@gmail.com> PR Close #42743 08 July 2021, 21:50:18 UTC
9ceadb0 docs(core): fix spelling error (#42783) Fix spelling error in migration schematics. PR Close #42783 08 July 2021, 21:49:47 UTC
f6bce31 ci: use issue forms for issue creation (#42099) Use new issue forms from Github for creating issues. PR Close #42099 08 July 2021, 21:07:31 UTC
ca4df9c ci: update the feature request bot (#42791) Introduce latest fixes in logging and labeling. PR Close #42791 08 July 2021, 21:06:10 UTC
d879175 fix(service-worker): correctly handle unrecoverable state when a client no longer exists (#42736) Previously, the ServiceWorker assumed that a client found in `clientVersionMap` would exist (i.e. it could be retrieved via `clients.get()`). However, if a browser tab had been closed, the corresponding client (while present in `clientVersionMap`, which is only updated on ServiceWorker initialization) would not be retrievable via `clients.get()`. This commit fixes it by checking whether the client exists before trying to notify it about an unrecoverable state. PR Close #42736 08 July 2021, 17:28:23 UTC
c7a2d76 refactor(service-worker): switch to the official TypeScript typings (#42736) Previously, we used custom typings for the ServiceWorker environment. This was necessary back when the ServiceWorker package was introduced, since there were no official typings. Since there are now official typings for Web Workers (including ServiceWorkers) offered by TypeScript as [lib.webworker.d.ts][1], this commit gets rid of our custom typings in favor of using the official ones. [1]: https://github.com/microsoft/TypeScript/blob/v4.3.4/lib/lib.webworker.d.ts PR Close #42736 08 July 2021, 17:28:23 UTC
7b7dce3 test(service-worker): better align mock global scope implementation with actual implementation (#42736) This commit better aligns the mock `ServiceWorkerGlobalScope` implementation used in ServiceWorker tests (and the associated typings) with the actual implementation (and the official TypeScript typings). This allows verifying the ServiceWorker behavior in a slightly more realistic environment. This is in preparation of switching from our custom typings to the official TypeScript typings (`lib.webworker.d.ts`). PR Close #42736 08 July 2021, 17:28:23 UTC
1670798 test(service-worker): better align mock client implementations with actual implementations (#42736) This commit better aligns the mock client implementations used in ServiceWorker tests (and the associated typings) with the actual implementations (and the official TypeScript typings). This allows verifying the ServiceWorker behavior in a slightly more realistic environment. This is in preparation of switching from our custom typings to the official TypeScript typings (`lib.webworker.d.ts`). PR Close #42736 08 July 2021, 17:28:23 UTC
305042a refactor(service-worker): move mock client classes to their own file (#42736) In the ServiceWorker tests, we use mock implementations of the various client APIs that the ServiceWorker interacts with. Previously, these mock implementations were defined in the `testing/scope.ts` file. This added several extra classes to a file that already contains a few, making it harder to maintain. Therefore, this commit moves these mock client classes to a separate `testing/clients.ts` file. PR Close #42736 08 July 2021, 17:28:23 UTC
8493eb7 test(service-worker): better align mock event implementations with actual implementations (#42736) This commit better aligns the mock event implementations used in ServiceWorker tests (and the associated typings) with the actual implementations (and the official TypeScript typings). This allows verifying the ServiceWorker behavior in a slightly more realistic environment. This is in preparation of switching from our custom typings to the official TypeScript typings (`lib.webworker.d.ts`). PR Close #42736 08 July 2021, 17:28:23 UTC
7fe7836 refactor(service-worker): move mock event classes to their own file (#42736) In the ServiceWorker tests, we use mock implementations of the various events emitted during the ServiceWorker lifecycle. Previously, these mock implementations were defined in the `testing/scope.ts` file. This added several extra classes to a file that already contains a few, making it harder to maintain. Therefore, this commit moves these mock event classes to a separate `testing/events.ts` file. PR Close #42736 08 July 2021, 17:28:23 UTC
6010408 refactor(service-worker): make `SwTestHarness.envIsSupported()` a standalone function (#42736) This commit makes the `SwTestHarness.envIsSupported()` static method a standalone function. This function is used to determine whether the current environment provides the necessary APIs to run the SW tests and is independent of `SwTestHarness`, so is no need for it to be a static method of `SwTestHarness`. This is in preparation of switching from our custom typings to the official TypeScript typings (`lib.webworker.d.ts`). PR Close #42736 08 July 2021, 17:28:23 UTC
8a79690 refactor(service-worker): remove duplicate `Context` type (in favor of `ExtendableEvent`) (#42736) This commit removes the duplicate `Context` interface and uses the `ExtendableEvent` interface instead. This is in preparation of switching from our custom typings to the official TypeScript typings (`lib.webworker.d.ts`). PR Close #42736 08 July 2021, 17:28:23 UTC
0562eae refactor(service-worker): remove unused variables and imports from tests (#42736) This commit removes some unused variables (and associated imports) from `integration_spec.ts`. PR Close #42736 08 July 2021, 17:28:22 UTC
fbc53e7 docs(forms): add diff between add and set control (#42638) PR Close #42638 08 July 2021, 17:27:43 UTC
f2523a8 fix(service-worker): avoid storing redundant metadata for hashed assets (#42606) The ServiceWorker needs to keep track of some metadata for unhashed asset resources to know if/when they might need to be revalidated. This applies to resources that do not exist on the filesystem at build-time (and thus cannot be hashed), such as fonts or images loaded from external sources. For hashed resources, this metadata is irrelevant, because the hash is enough to verify that the content hasn't changed and no revalidation is necessary. Previously, the ServiceWorker would store such metadata for hashed resources as well, even though it would never be used (thus taking up space unnecessarily). This commit fixes it by not storing metadata for hashed resources, i.e. those that are included in an asset-group's `hashes` array. PR Close #42606 08 July 2021, 17:27:16 UTC
e6088ab docs(service-worker): add missing comma in example JSON data (#42606) PR Close #42606 08 July 2021, 17:27:16 UTC
0a17e98 fix(compiler-cli): inline type checking instructions no longer prevent incremental reuse (#42759) Source files that contain directives or components that need an inline type constructor or inline template type-check block would always be considered as affected in incremental rebuilds. The inline operations cause the source file to be updated in the TypeScript program that is created for template type-checking, which becomes the reuse program in a subsequent incremental rebuild. In an incremental rebuild, the source files from the new user program are compared to those from the reuse program. The updated source files are not the same as the original source file from the user program, so the incremental engine would mark the file which needed inline operations as affected. This prevents incremental reuse for these files, causing sub-optimal rebuild performance. This commit attaches the original source file for source files that have been updated with inline operations, such that the incremental engine is able to compare source files using the original source file. Fixes #42543 PR Close #42759 07 July 2021, 22:17:25 UTC
fe602c9 fix(docs-infra): ensure the sidenav backdrop covers the floating ToC (#42787) Previously, on narrow pages where the sidenav was in `over` mode, the sidenav's backdrop only covered the main docs content but not the floating Table of Contents (ToC) on the right. This was inconsistent and confusing to the user, because they could interact with the ToC and scroll to different area of the main content while the sidenav and backdrop were still covering the content. This commit fixes it by ensuring the sidenav backdrop covers both the main content and the floating ToC (when present). Fixes #42778 PR Close #42787 07 July 2021, 20:40:01 UTC
b9ab8b9 fix(docs-infra): log more SW debug info (#42776) This commit expands the info printed to the console to help diagnose ServiceWorker issues to include the [internal debug info][1] retrieved from `/ngsw/state`. This will provide more useful data, such as the activated SW's version, state, clients, recent operations and any recent errors. NOTE: This temporarily increases the payload size. Removing this code and reclaiming the payload size is being tracked in #41117. [1]: https://angular.io/guide/service-worker-devops#locating-and-analyzing-debugging-information PR Close #42776 07 July 2021, 20:37:06 UTC
0540a03 refactor(docs-infra): replace deprecated Sass `/` division with `math.div()` (#42776) This commit replaces the deprecated `/` operators used for division in Sass files with the [recommended][1] `math.div()` function to get rid of build warnings ([example][2]). [1]: https://sass-lang.com/documentation/breaking-changes/slash-div [2]: https://circleci.com/gh/angular/angular/1017640 PR Close #42776 07 July 2021, 20:37:06 UTC
89e7e52 test(docs-infra): prevent warning due to missing expectation (#42776) Fix a unit test warning due to Jasmine not realizing that `httpMock.expectOne()` is an expectation. [Example][1]: > WARN: 'Spec 'DocumentService currentDocument should encode the request > path to be case-insensitive' has no expectations.' [1]: https://circleci.com/gh/angular/angular/1017640 PR Close #42776 07 July 2021, 20:37:06 UTC
bdac537 build(docs-infra): update @angular/* to 12.1.1 (#42776) Update `@angular/*` packages to latest 12.1.x versions (mainly to take advantage of recent ServiceWorker improvements, such as #42607 and #42622). PR Close #42776 07 July 2021, 20:37:06 UTC
80e602c build(docs-infra): update payload sizes (#42776) This commit updates the payload sizes for angular.io to make it easier to identify payload size changes from an imminent update of `@angular/*` packages. PR Close #42776 07 July 2021, 20:37:06 UTC
9619255 fix(docs-infra): slightly improve top-menu responsiveness (#42753) make sure that the top-menu links don't get overlapped by the search input, regardless on the browser's font-size and the window's width make also sure that the header's logo does not overlap the search input on narrow windows, again regardless on the browser's font-size PR Close #42753 07 July 2021, 20:36:38 UTC
eca4801 docs: add missing import to `CartService` tutorial instructions (#42701) PR Close #42701 07 July 2021, 16:54:55 UTC
ec60d10 docs: change misspelled function (#42742) Change the router.navigateUrl() to the correct function router.navigate() according to code example. PR Close #42742 07 July 2021, 16:54:24 UTC
9557e87 fix(dev-infra): missing `pkg_npm` substitution for top-level targets being accessed (#42754) Currently if a top-level target or file within `//dev-infra` is being referenced. like `//dev-infra:tsconfig`, then the label is not subsituted properly and breaks consumption of the built NPM package. PR Close #42754 03 July 2021, 00:15:18 UTC
4511609 fix(compiler-cli): support reflecting namespace declarations (#42728) DTS bundling, will cause originally namespaced imports become namespace declarations within the same file. Example: Before bundling ```ts import * as i1 from './router'; export declare class RouterModule { constructor(guard: any, router: Router); static ɵmod: i0.ɵɵNgModuleDeclaration<RouterModule, [typeof i1.RouterOutlet...]>; } ``` After bundling ``` declare namespace i1 { export { RouterOutletContract, RouterOutlet } } export declare class RouterModule { constructor(guard: any, router: Router); static ɵmod: i0.ɵɵNgModuleDeclaration<RouterModule, [typeof i1.RouterOutlet...]>; } ``` And therefore this commit adds support for reflecting types that are defined in such namespace declarations. Closes #42064 PR Close #42728 02 July 2021, 22:15:05 UTC
4a8ab4f fix(bazel): enable dts bundling for Ivy packages (#42728) It is now possible to bundle DTS files of Ivy libraries since the blocker https://github.com/microsoft/rushstack/issues/1029 has been addressed upstream. PR Close #42728 02 July 2021, 22:15:04 UTC
9f8a256 ci: remove `@microsoft/api-extractor` from `ignoreDeps` (#42728) We can now allow Renovate to manage this dependency. PR Close #42728 02 July 2021, 22:15:04 UTC
6da24e6 build: update API goldens after api-extractor update (#42749) Given we have updated API extractor to the most recent version, we need to update the API goldens because the latest version uses alias exports to avoid collisions with default library globals (like `Event`). PR Close #42749 02 July 2021, 19:32:23 UTC
back to top