https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
63275ae release: cut the v11.1.1 release (#40598) 27 January 2021, 19:44:36 UTC
156103c perf(compiler-cli): introduce fast path for resource-only updates (#40561) This commit adds a new `IncrementalResourceCompilationTicket` which reuses an existing `NgCompiler` instance and updates it to optimally process template-only and style-only changes. Performing this update involves both instructing `DecoratorHandler`s to react to the resource changes, as well as invalidating `TemplateTypeChecker` state for the component(s) in question. That way, querying the `TemplateTypeChecker` will trigger new TCB generation for the changed template(s). PR Close #40561 27 January 2021, 18:45:58 UTC
44150ec refactor(compiler-cli): split template parsing into declaration/parse steps (#40561) To prepare for the optimization of template-only changes, this commit refactors the `ComponentDecoratorHandler`'s handling of template parsing. Previously, templates were extracted from the raw decorator metadata and parsed in a single operation. To better handle incremental template updates, this commit splits this operation into a "declaration" step where the template info is extracted from the decorator metadata, and a "parsing" step where the declared template is read and parsed. This allows for re-reading and re-parsing of the declared template at a future point, using the same template declaration extracted from the decorator. PR Close #40561 27 January 2021, 18:45:58 UTC
f8a63e9 refactor(compiler-cli): introduce CompilationTicket system for NgCompiler (#40561) Previously, the incremental flow for NgCompiler was simple: when creating a new NgCompiler instance, the consumer could pass state from a previous compilation, which would cause the new compilation to be performed incrementally. "Local" information about TypeScript files which had not changed would be passed from the old compilation to the new and reused, while "global" information would always be recalculated. However, this flow could be made more efficient in certain cases, such as when no TypeScript files are changed in a new compilation. In this case, _all_ information extracted during the first compilation is reusable. Doing this involves reusing the previous `NgCompiler` instance (the container for such global information) and updating it, instead of creating a new one for the next compilation. This approach works cleanly, but complicates the lifecycle of `NgCompiler`. To prevent consumers from having to deal with the mechanics of reuse vs incremental steps of `NgCompiler`, a new `CompilationTicket` mechanism is added in this commit. Consumers obtain a `CompilationTicket` via one of several code paths depending on the nature of the incoming compilation, and use the `CompilationTicket` to obtain an `NgCompiler` instance. This instance may be a fresh compilation, a new `NgCompiler` for an incremental compilation, or an existing `NgCompiler` that's been updated to optimally process a resource-only change. Consumers can use the new `NgCompiler` without knowledge of its provenance. PR Close #40561 27 January 2021, 18:45:58 UTC
d88f18e fix(language-service): recognize incomplete pipe bindings with whitespace (#40346) The Language Service uses the source span of AST nodes to recognize which node a user has selected, given their cursor position in a template. This is used to trigger autocompletion. The previous source span of BindingPipe nodes created a problem when: 1) the pipe binding had no identifier (incomplete or in-progress expression) 2) the user typed trailing whitespace after the pipe character ('|') For example, the expression `{{foo | }}`. If the cursor preceded the '}' in that expression, the Language Service was unable to detect that the user was autocompleting the BindingPipe expression, since the span of the BindingPipe ended after the '|'. This commit changes the expression parser to expand the span of BindingPipe expressions with a missing identifier, to include any trailing whitespace. This allows the Language Service to correctly recognize this case as targeting the BindingPipe and complete it successfully. The `nameSpan` of the BindingPipe is also moved to be right-aligned with the end of any whitespace present in the pipe binding expression. This change allows for the disabled test in the Language Service for pipe completion in this case to be re-enabled. PR Close #40346 27 January 2021, 18:44:40 UTC
8137264 fix(dev-infra): fix substitution string for component_benchmark (#40591) Correct the substitution made to import ng_module from @angular/bazel, rather than local to the repository. PR Close #40591 27 January 2021, 18:37:50 UTC
77efc27 fix(language-service): implement realpath to resolve symlinks (#40593) The `LanguageServiceAdapter` must implement `realpath` in order to resolve symlinks in `node_modules`. Local libraries are often symlinked in `node_modules` by adding a local dependency in `package.json`. Fix https://github.com/angular/vscode-ng-language-service/issues/1083 PR Close #40593 27 January 2021, 18:36:04 UTC
2273929 fix(dev-infra): check and validate npm login state for release publishing (#40485) Check and require logging into NPM before beginning the release process. PR Close #40485 27 January 2021, 18:34:22 UTC
6cdbcca build: set npm registry for publishing (#40485) Set the npm registry used for publishing npm packages PR Close #40485 27 January 2021, 18:34:21 UTC
cda577d docs(elements): add notice about choosing a tag name in Elements guide (#40510) This commit adds a warning in the Elements guide about using `@Component.selector` as the tag name for the registered custom element. See also #40452 for context. PR Close #40510 27 January 2021, 18:23:46 UTC
7d6238e docs(elements): add MDN links for mentioned built-in APIs in Elements guide (#40510) PR Close #40510 27 January 2021, 18:23:46 UTC
95e68c4 build: update bazel rules_nodejs to 2.3.3 (#40581) Updates to rules_nodejs@2.3.3 to take advantage of windows specific fixes. rules_nodejs@2.3.3 was created as a patch specifically with a fix for the issues we found updating to rules_nodejs@2.2.2. PR Close #40581 26 January 2021, 23:07:05 UTC
67c4ab6 build: update .bazelversion (#40579) Update to the latest version of bazel. `4.0.0` introduced a breaking change on unnecessary backslashes and these instance are corrected in this change. PR Close #40579 26 January 2021, 19:35:54 UTC
a01a9d2 build: update to yarn v1.22.10 (#40562) Update to the latest version of yarn. PR Close #40562 26 January 2021, 18:52:28 UTC
2b7041e build(zone.js): do not error when build `zone.js` on Windows (#40557) In older versions of `bazelbuild/rules_nodejs`, the `npm_package.pack` rule does not work on Windows. This has been fixed in bazelbuild/rules_nodejs#2257, but the fix is not available before [version 2.3.0][1]. Currently, we use version 2.2.0 (see [WORKSPACE][2]). In order to allow the `zone-js-builder.js` script to work on Windows, this commit switches to using `npm pack` directly, intead of relying on `npm_package.pack`. For reference, the version of `bazelbuild/rules_nodejs` was updated to 2.3.2 in PR #39636, but this was later reverted due to CI flakes (4e6d69cc85c824faf8e55bbc474cc070aceb2950). [1]: https://github.com/bazelbuild/rules_nodejs/releases/tag/2.3.0 [2]: https://github.com/angular/angular/blob/fc64fa8e1af9e0bbab40d1b441743744a40c5581/WORKSPACE#L12 PR Close #40557 26 January 2021, 18:51:16 UTC
97ec6e4 fix(core): fix possible XSS attack in development through SSR (#40525) This is a follow up fix for https://github.com/angular/angular/pull/40136/commits/894286dd0c92b5af223364237e63798e18b14f58. It turns out that comments can be closed in several ways: - `<!-->` - `<!-- -->` - `<!-- --!>` All of the above are valid ways to close comment per: https://html.spec.whatwg.org/multipage/syntax.html#comments The new fix surrounds `<` and `>` with zero width space so that it renders in the same way, but it prevents the comment to be closed eagerly. PR Close #40525 26 January 2021, 17:32:27 UTC
2abdf5c docs: fixed issue with missing code sample by rearranging import to proper docregion (#40565) Fixes #40558 PR Close #40565 26 January 2021, 17:17:28 UTC
a87e900 docs: fix the docs because the interface does not exist (#40308) PR Close #40308 26 January 2021, 00:29:14 UTC
defa627 feat(language-service): Add diagnostics to suggest turning on strict mode (#40568) This PR adds a way for the language server to retrieve compiler options diagnostics via `languageService.getCompilerOptionsDiagnostics()`. This will be used by the language server to show a prompt in the editor if users don't have `strict` or `fullTemplateTypeCheck` turned on. Ref https://github.com/angular/vscode-ng-language-service/issues/1053 PR Close #40568 26 January 2021, 00:26:49 UTC
33e0f2b fix(compiler-cli): use `Map` rather than `object` for map of partial linkers (#40563) Previously, we were naïvely checking whether a function name was a partial linker declaration call by testing the map of linkers with `linkers[name]`. Since `linkers` was a plain object, it also matched function names like `toString`! This has been refactored as a `Map` to avoid the problem. PR Close #40563 25 January 2021, 22:58:03 UTC
da3e280 docs: fix typo (#40566) Fixes ComponentFactories typo PR Close #40566 25 January 2021, 22:55:56 UTC
2fab148 fix(forms): allow `patchValue()` method of `FormGroup` and `FormArray` classes to skip `null` values (#40534) Prior to this commit, the `patchValue()` of the `FormGroup` and `FormArray` classes used to throw an exception when the `value` argument contained a data structure that has `null` or `undefined` as a value for a field that represents an instance of `FormGroup` or `FormArray` (for `FormControl` it's not a problem, since it doesn't have nested controls), since the `patchValue()` method tried to iterate over provided values to match current data structure. This commit updates the `patchValue()` logic in `FormGroup` and `FormArray` classes to just ignore `null` and `undefined` values (without any changes to corresponding `FormGroup` and `FormArray` instances). This behavior looks inline with the `patchValue()` method goal of "doing its best to match the values to the correct controls" (quote from docs). Fixes #36672. Fixes #21021. PR Close #40534 25 January 2021, 19:42:26 UTC
72fc6aa fix(forms): properly cleanup in cases when FormControlName has no CVA (#40526) PR #39235 introduced additional cleanup logic for form controls and directives. The cleanup logic relies on the presence of ControlValueAccessor instances on FormControlName and FormControl directives. In general these fields are present and there are also checks to make sure that the mentioned directive instances are created with CVAs. However some scenarios (primarily tests) may invoke the logic in a way that the directive instance would not be fully initialized, thus causing CVA to be absent. As a result, the cleanup logic fails while trying to call some methods on associated CVA instances. This commit updates the cleanup logic to take into account the situation when CVA is not present. Fixes #40521. PR Close #40526 25 January 2021, 19:41:14 UTC
3c785e5 build(docs-infra): upgrade cli command docs sources to 73ab73f51 (#40539) Updating [angular#11.1.x](https://github.com/angular/angular/tree/11.1.x) from [cli-builds#11.1.x](https://github.com/angular/cli-builds/tree/11.1.x). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/e1bcfba66...73ab73f51): **Modified** - help/build.json - help/serve.json PR Close #40539 25 January 2021, 19:37:11 UTC
5661298 fix(localize): include meaning in generated ARB files (#40546) The ARB format doesn't have a dedicated field for message meaning so these changes include it as a customize attribute called `x-meaning`. Fixes #40506. PR Close #40546 25 January 2021, 19:02:18 UTC
760557b test(compiler-cli): reset i18n message index in compliance test macro (#40529) The compliance test runner has various macros that process the expectation files before actually checking their contents. Among those macros are i18n helpers, which uses a global message counter to be able to uniquely identify ICU variables. Because of the global nature of this message index, it was susceptible to ordering issues which could result in flaky tests, although it failed very infrequently. This commit resets the global message counter before applying the macros. As a result of this change an expectation file had to be updated; this is actually a bug fix as said test used to fail if run in isolation (if `focusTest: true` was set for that particular testcase). PR Close #40529 25 January 2021, 18:55:43 UTC
c08fbb4 feat(dev-infra): automatically add labels to release PRs (#40016) Automatically add provided labels to PRs created for release. PR Close #40016 25 January 2021, 18:49:57 UTC
811f9da build: ensure action: merge label is included on release PRs (#40016) The release PRs should include the `action: merge`, `PullApprove: disable` and `comp: build & ci` labels. PR Close #40016 25 January 2021, 18:49:57 UTC
fc912f4 fix(dev-infra): write to unique log file for `FATAL_ERROR`s in release tooling (#40524) Write to the unique log file, to prevent being overwritten, for `FATAL_ERROR` failures in the release tooling. This will help to assist in determining where something goes wrong in the process as well as being able to resume the action. PR Close #40524 25 January 2021, 18:47:41 UTC
c655cc5 feat(dev-infra): support --no-branch-prompt to suppress the merge tool branch target confirmation (#40528) Add support for a `--no-branch-prompt` flag for the `ng-dev pr merge` tool. This flag enables suppression of the confirmation prompt for which branches the specified PR will merge into. PR Close #40528 25 January 2021, 18:45:57 UTC
37710b9 fix(service-worker): handle error with console.error (#40236) This commit reverts commit [_fix(service-worker): handle error with ErrorHandler_](https://github.com/angular/angular/pull/39990/commits/552419d). With Angular v11.0.4 and commit [_fix(service-worker): handle error with ErrorHandler_](https://github.com/angular/angular/pull/39990/commits/552419d) Angular start to send all service worker registration errors to the Angular standard `ErrorHandler#handleError()` interface, instead of logging them in the console. But users existing `ErrorHandler#handleError()` implementations are not adapted to service worker registration errors and it might result in broken apps or bad UI. Passing to `ErrorHandler` is desirable for some and undesirable for others and the same is true for passing to `console.error()`. But `console.error()` was used for a long time and thus it is preferable to keep it as long as a good solution is not found with `ErrorHandler`. Right now it's hard to define a good solution for `ErrorHandler` because: 1. Given the nature of the SW registration errors (usually outside the control of the developer, different error messages on each browser/version, often quite generic error messages, etc.), passing them to the `ErrorHandler` is not particularly helpful. 2. While `ErrorHandler#handleError()` accepts an argument of type `any` (so theoretically we could pass any object without changing the public API), most apps expect an `Error` instance, so many apps could break if we changed the shape. 3. Ideally, the Angular community want to re-think the `ErrorHandler` API and add support for being able to pass additional metadata for each error (such as the source of the error or some identifier, etc.). This change, however, could potentially affect many apps out there, so the community must put some thought into it and design it in a way that accounts for the needs of all packages (not just the SW). 4. Given that we want to more holistically revisit the `ErrorHandler` API, any changes we make in the short term to address the issue just for the SW will make it more difficult/breaky for people to move to a new API in the future. To see the whole explanation see GitHub PR #40236. PR Close #40236 25 January 2021, 18:11:58 UTC
3124e42 docs: remove an extra "and" in the tutorial (#40541) PR Close #40541 25 January 2021, 18:02:02 UTC
6635e55 docs: fix pullapprove url (#40550) PR Close #40550 25 January 2021, 18:01:02 UTC
7654a81 docs: Fix syntax in interpolation example (#40554) Correcting a typo in the example. PR Close #40554 25 January 2021, 17:59:50 UTC
dfe4200 Revert "fix(compiler): support multiple `:host-context()` selectors (#40494)" (#40531) This reverts commit 07b7af332f164ab150f4b7150e580591c92ca9d5. Reason for revert: Google3 failures PR Close #40531 23 January 2021, 00:45:39 UTC
761b8fe Revert "fix(core): fix possible XSS attack in development through SSR (#40525)" (#40533) This reverts commit bb3b315eee8a669bf78940a24ecc4279cd04d380. Reason for Revert: Issues with Google3 TAP Failures PR Close #40533 23 January 2021, 00:44:34 UTC
3bf6a99 fix(core): fix possible XSS attack in development through SSR (#40525) This is a follow up fix for https://github.com/angular/angular/pull/40136/commits/894286dd0c92b5af223364237e63798e18b14f58. It turns out that comments can be closed in several ways: - `<!-->` - `<!-- -->` - `<!-- --!>` All of the above are valid ways to close comment per: https://html.spec.whatwg.org/multipage/syntax.html#comments The new fix surrounds `<` and `>` with zero width space so that it renders in the same way, but it prevents the comment to be closed eagerly. PR Close #40525 22 January 2021, 22:19:52 UTC
6298b3e docs: fix NG0201 error description (#40500) PR Close #40500 22 January 2021, 21:35:01 UTC
b3b80d4 build: update to @bazel/bazelisk@1.7.3 (#40519) Update to the latest version of bazelisk as part of preperation for supporting new Macs with M1 chips. Addresses https://github.com/angular/angular/issues/40498 PR Close #40519 22 January 2021, 18:25:49 UTC
4bb38c9 fix(core): improve injector debug information in `ngDevMode` (#40476) - `LViewDebug` now properly shows when `TNode` has `NO_NODE_INJECTOR`. - Provide `injectorResolutionPath` property `DebugNode` PR Close #40476 22 January 2021, 18:21:26 UTC
72c0ba6 fix(compiler): support multiple `:host-context()` selectors (#40494) In `ViewEncapsulation.Emulated` mode, the compiler must generate additional combinations of selectors to handle the `:host-context()` pseudo-class function. Previously, when there is was more than one `:host-context()` selector in a rule, the compiler was generating invalid selectors. This commit generates all possible combinations of selectors needed to match the same elements as the native `:host-context()` selector. Fixes #19199 PR Close #40494 22 January 2021, 18:19:45 UTC
566206b fix(compiler-cli): handle pseudo cycles in inline source-maps (#40435) When a source-map has an inline source, any source-map linked from that source should only be loaded if itself is also inline; it should not attempt to load a source-map from the file-system. Otherwise we can find ourselves with inadvertent infinite cyclic dependencies. For example, if a transpiler takes a file (e.g. index.js) and generates a new file overwriting the original file - capturing the original source inline in the new source-map (index.js.map) - the source file loader might read the inline original file (also index.js) and then try to load the `index.js.map` file from disk - ad infinitum. Note that the first call to `loadSourceFile()` is special, since you can pass in the source-file and source-map contents directly as in-memory strrngs. This is common if the transpiler has just generated these and has not yet written them to disk. When the contents are passed into `loadSourceFile()` directly, they are not treated as "inline" for the purposes described above since there is no chance of these "in-memory" source and source-map contents being caught up in a cyclic dependency. Fixes #40408 PR Close #40435 21 January 2021, 22:06:57 UTC
c35298d refactor(migrations): remove rxjs usage within static queries migration (#38657) rxjs was only used within one location within the static queries migration to workaround a previous limitation that schematics could not directly use a promise. However, promise support has been available since 8.0. This change removes the observable promise wrapping. It also removes an any cast that was previously needed to workaround rxjs version mismatches during compilation. PR Close #38657 21 January 2021, 22:04:20 UTC
1b79810 build: set the repository information for ts-api-guardian (#40512) Set the repository information in the package.json for ts-api-guardian to allow it to be published via wombat proxy. PR Close #40512 21 January 2021, 21:53:08 UTC
d1c954e Remove myself from language-service reviews (#40509) I am no longer actively working on the language service. PR Close #40509 21 January 2021, 21:50:52 UTC
69e4394 docs: remove old content from CLI configuration guide (#38243) PR Close #38243 21 January 2021, 21:49:24 UTC
69fd942 fix(router): Fix occasional error when creating url tree in IE 11 and Edge (#40488) For the Google Cloud Console within Google we observed errors in the shallowEqual function for users in IE and Edge. This patch was made within Google and the errors went away. This commit upstreams the change into Angular. PR Close #40488 21 January 2021, 20:25:16 UTC
5f6808d build: bump ts-api-guardian to 0.5.1 (#40511) Update to new patch version of the experimental ts-api-guardian package. PR Close #40511 21 January 2021, 20:23:19 UTC
556e9f2 build: set up publishing registry for ts-api-guardian (#40511) Set the ts-api-guardian to be published via the wombot proxy. PR Close #40511 21 January 2021, 20:23:19 UTC
e995d85 test(core): verify that token IDs that exceed the bloom filter size are handled correctly (#40489) This commits adds additional expectations to verify that the bloom filter is able to correctly handle token IDs that exceed the size of the bloom filter (which is currently 256 bits). PR Close #40489 21 January 2021, 01:02:02 UTC
106734a perf(core): simplify bloom bucket computation (#40489) The injector system uses a bloom filter to determine if a token is possibly defined in the node injector tree, which is stored across multiple bloom buckets that each represent 32 bits of the full 256-bit wide bloom hash. This means that a computation is required to determine the exact bloom bucket which is responsible for storing any given 32-bit interval, which was previously computed using three bitmask operations and three branches to derive the bloom bucket offset. This commit exploits the observation that all bits beyond the low 5 bits of the bloom hash are an accurate representation for the bucket offset, if shifted right such that those bits become the least significant bits. This reduces the three bitmask operations and three branches with a single shift operation, while additionally offering a code size improvement. PR Close #40489 21 January 2021, 01:02:02 UTC
a8a27ef fix(router): always stringify matrix parameters (#25095) Fix a case where matrix parameters weren't stringified when they are passed as a first command when creating a url tree. Fix return type in parseMatrixParams method because it always returns {[key: string]: string} Closes #23165 PR Close #25095 21 January 2021, 00:19:45 UTC
4212d62 docs: clarify name collision info, add example snippet, and fix example CSS (#40451) Fixes #40403 and fixes imgs and layout of example that are unrestrained and thus are too big in StackBlitz. PR Close #40451 21 January 2021, 00:13:43 UTC
b41204c docs: add missing type parameter to testing example (#40479) Without this type parameter the call to `resolve()` is invalid. PR Close #40479 21 January 2021, 00:12:16 UTC
aa3aafb build(docs-infra): move docs-watch settings to a base package (#40479) This new `base-authoring-package` captures all the settings, which turns of potentially fatal checks, in one place. This new package is then used as a base for all the docs-watch related packages, rather than dotting the settings in a variety of different packages. This also has the benefit that the standard configuration for doc-gen is fatal on failed checks by default. PR Close #40479 21 January 2021, 00:12:16 UTC
1477fb7 build(docs-infra): fail gently if a changed file is unknown (#40479) When using `docs-watch` we try to match the changed file to a dgeni package in order to trigger a minimal set of processors. Previously, if the changed file could not be matched we emitted an ugly error. Now we provide a helpeful message. PR Close #40479 21 January 2021, 00:12:16 UTC
d2aa3ee docs: remove unused "docregions" (#40479) This commit removes all the docregion tags in examples that are not being referenced in any doc. PR Close #40479 21 January 2021, 00:12:16 UTC
fbb1eb1 build(docs-infra): fail if there are unused example regions (#40479) We can define regions in our examples that can be referenced and rendered in guides as code snippets. It is quite hard to ensure that these regions are maintained correctly. One reason for this is it is hard to know whether a region is being used or not. This commit adds a new processor that checks for unused named regions in examples and fails if any are found. Fixes #19761 PR Close #40479 21 January 2021, 00:12:16 UTC
fbbd23e build(docs-infra): improve docs-watch example matching (#40479) In the `docs-watch` job we attempt to guess what additional files need to be processed given a change to a single file. Previously we were not finding links to examples that were defined over multiple lines. E.g. ``` <code-pane header="src/app/app.component.html" region="hero-birthday-template" path="pipes/src/app/app.component.html"> </code-pane> ``` This commit improves the regular expression to handle these cases. PR Close #40479 21 January 2021, 00:12:16 UTC
899bf3b build(docs-infra): remove outdated comment (#40479) The comment referred to pre v9 Angular. The `http` package has now been completely removed. PR Close #40479 21 January 2021, 00:12:16 UTC
59680c2 release: cut the v11.1.0 release 20 January 2021, 18:30:35 UTC
34092a5 docs: add embedded videos to error guides (#40453) add embedded youtube videos provide visual debugging for top errors PR Close #40453 20 January 2021, 16:47:03 UTC
b8e47e2 fix(language-service): Paths on Windows should be normalized (#40492) Many `ts.LanguageService` APIs accept a filename, for example ```ts getQuickInfoAtPosition(fileName: string, position: number) ``` The requirement is that `fileName` is agnostic to the platform (Linux, Mac, Windows, etc), and is always normalized to TypeScript's internal `NormalizedPath`. This is evident from the way these APIs are called from the language server: ```ts private onHover(params: lsp.TextDocumentPositionParams) { const lsInfo = this.getLSAndScriptInfo(params.textDocument); if (lsInfo === undefined) { return; } const {languageService, scriptInfo} = lsInfo; const offset = lspPositionToTsPosition(scriptInfo, params.position); const info = languageService.getQuickInfoAtPosition(scriptInfo.fileName, offset); // ... } ``` https://github.com/angular/vscode-ng-language-service/blob/9fca9c66510974c26d5c21b31adb9fa39ac0a38a/server/src/session.ts#L594 Here `scriptInfo.fileName` is always a `ts.server.NormalizedPath`. However, https://github.com/angular/angular/pull/39917 accidentally leaked the platform-specific paths, and caused a mismatch between the incoming paths and the paths stored in the internal data structure `fileToComponent`. This PR fixes the bug by always normalizing the paths, and updating the type to reflect the format of the underlying data. Fixes https://github.com/angular/vscode-ng-language-service/issues/1063 PR Close #40492 20 January 2021, 16:46:03 UTC
2731a4b docs: Return SVG topic to documentation; light edits for clarity (#40487) PR Close #40487 19 January 2021, 22:18:57 UTC
3e134e4 fix(language-service): fix go to definition for template variables and references (#40455) (#40491) The current "go to definition" is broken for template variables and references when a template is overridden. This is because we get the file url from the source span, which uses the overridden name 'override.html'. Instead, we can retrieve the template file from the compiler in the same manner that is done for references. Another way to fix this would have been to use the real template file path when overriding a template, but this was the more straightforward fix since the strategy was already used in find references and rename locations. fixes https://github.com/angular/vscode-ng-language-service/issues/1054 PR Close #40455 PR Close #40491 19 January 2021, 22:18:07 UTC
2c5ad5c fix(forms): error if control is removed as a result of another one being reset (#40462) When a form is reset, it goes through `_forEachChild` to call `reset` on each of its children. The problem is that if a control is removed while the loop is running (e.g. by a subscription), the form will throw an error, because it built up the list of available control before the loop started. These changes fix the issue by adding a null check before invoing the callback. Fixes #33401. PR Close #40462 19 January 2021, 19:41:23 UTC
106df61 refactor(core): add links to top compiler errors (#40326) add links to 5 compiler error messages navigate user to AIO new /errors pages for debugging PR Close #40326 19 January 2021, 18:14:57 UTC
d1c542b refactor(core): add links to top runtime errors (#40326) add links to 5 runtime error messages navigate user to AIO new /errors pages for debugging PR Close #40326 19 January 2021, 18:14:57 UTC
2047d63 docs: add Angular Builders to community resources (#40475) PR Close #40475 19 January 2021, 17:22:35 UTC
4468ac2 feat(docs-infra): use Record type instead of key-value (#40463) use Record type instead of key-value Closes #39804 PR Close #40463 19 January 2021, 17:21:33 UTC
5578e23 docs: fix broken link to XSRF common protection mechanism (#40458) PR Close #40458 19 January 2021, 17:17:58 UTC
ad2b50b fix(core): fix fakeAsync() error messages (#40442) Fix error messages when calling `fakeAsync()` without importing `zone-testing.js` PR Close #40442 19 January 2021, 17:15:12 UTC
524415e fix(compiler): correct the `KeySpan` for animation events and properties (#40347) We should provide the completion when the cursor is in the attribute name after the `@` and `animate-`, but now the `KeySpan` starts from the `@` or `animate-`. For example, the animation event `(@name.done)="v"`, we can know where the cursor is by the `KeySpan` of `name.done` exactly, it's in the event name or in the phase name. PR Close #40347 15 January 2021, 19:38:42 UTC
8e0b01e refactor(compiler): remove unused files in css_parser/ and corresponding spec tests (#37463) Reasons for change: - css_parser, css_ast, and css_lexer are not used anywhere and there are no entry points from compiler.ts - tested by building Angular and building/running aio with build-local PR Close #37463 15 January 2021, 19:37:26 UTC
0a00b7d docs: add Angular Nation to community resources (#40449) PR Close #40449 15 January 2021, 19:36:31 UTC
6675b6f fix(router): lazy loaded modules without RouterModule.forChild() won't cause an infinite loop (#36605) When loading a module that doesn't provide `RouterModule.forChild()` preloader will get stuck in an infinite loop and throw `ERROR Error: Maximum call stack size exceeded.` The issue is that child module's `Injector` will look to its parent `Injector` when it doesn't find any `ROUTES` so it will return routes for it's parent module instead. This will load the child again that returns its parent's routes and so on. Closes #29164 PR Close #36605 15 January 2021, 18:39:56 UTC
9c595b0 feat(docs-infra): add shortcuts for the angular.io PWA (#40393) This commits adds some shortcut definitions for the angular.io PWA. The user agent can use them to assemble a context menu to be displayed by the operating system when a user engages with the app's icon. (In addition, shortcuts provide an easy way for users to add links to specific pages on their home screen.) See [here][1] for more details on the `shortcuts` property of the PWA manifest. The choice of pages to create shortcuts to was influenced by the following facts/criteria: - It seems that only the first 4 shortcuts are displayed by Chrome (at least on my Android phone). - Since the PWA is mostly used on mobile, I omitted pages that are less likely to be useful for mobile users (such as pages related to CLI). [1]: https://developer.mozilla.org/en-US/docs/Web/Manifest/shortcuts PR Close #40393 15 January 2021, 18:38:43 UTC
c8464ed refactor(docs-infra): more some `pwa-manifest.json` keys to the top to improve readability (#40393) This commit moves some properties with simple, string values in `pwa-manifest.json` to the top (i.e. above the more lengthy `icons` array) to make them easier to discover. PR Close #40393 15 January 2021, 18:38:42 UTC
861fa84 docs: add UI Bakery to IDEs section in resources (#40444) PR Close #40444 15 January 2021, 18:37:40 UTC
d5f696c refactor(core): Remove the need for explicit static query instruction (#40091) Because the query now has `flags` which specify the mode, the static query instruction can now be remove. It is simply normal query with `static` flag. PR Close #40091 14 January 2021, 21:55:03 UTC
76f3633 fix(core): `QueryList` should not fire changes if the underlying list did not change. (#40091) Previous implementation would fire changes `QueryList.changes.subscribe` whenever the `QueryList` was recomputed. This resulted in artificially high number of change notifications, as it is possible that recomputing `QueryList` results in the same list. When the `QueryList` gets recomputed is an implementation detail and it should not be the thing which determines how often change event should fire. This change introduces a new `emitDistinctChangesOnly` option for `ContentChildren` and `ViewChildren`. ``` export class QueryCompWithStrictChangeEmitParent { @ContentChildren('foo', { // This option will become the default in the future emitDistinctChangesOnly: true, }) foos!: QueryList<any>; } ``` PR Close #40091 14 January 2021, 21:55:03 UTC
63bf613 docs: remove duplicated the (#40434) PR Close #40434 14 January 2021, 19:33:58 UTC
798aae4 perf(ngcc): do not copy files that have been processed (#40429) When using the `NewEntryPointWriter`, we must copy over all files from the entry-point bundle to the new entry-point. But since we are going to write out the modified files directly, there is no need to copy those. This commit skips copying the files that have been modified. PR Close #40429 14 January 2021, 19:30:43 UTC
e2e3862 fix(ngcc): copy (and update) source-maps for unmodified source files (#40429) When using the `NewEntryPointWriter` we copy unmodified files over to the new entry-point in addition to writing out the source files that are processed by ngcc. But we were not copying over associated source-map files for these unmodified source files, leading to warnings in downstream tooling. Now we will also copy over source-maps that reside as siblings of unmodified source files. We have to make sure that the sources of the source-map point to the correct files, so we also update the `sourceRoot` property of the copied source-map. Fixes #40358 PR Close #40429 14 January 2021, 19:30:43 UTC
b1ae239 docs: Fix typo in Trusted Types documentation (#40433) Remove an extraneous 'd' from the Trusted Types header. PR Close #40433 14 January 2021, 19:29:44 UTC
32bf23a docs: add guides for the top 10 errors (#40060) add top 10 error guides provide description and debugging for top errors PR Close #40060 14 January 2021, 19:28:56 UTC
873bdf0 build(docs-infra): error guides in docs (#40060) add /errors to docs create formatting for error guides infra PR Close #40060 14 January 2021, 19:28:56 UTC
30a7351 docs(core): change URL to shadow dom spec (#39797) The old URL (https://w3c.github.io/webcomponents/spec/shadow/) is no longer available. This commit updates to link to MDN instead. Fixes #39822 PR Close #39797 14 January 2021, 19:27:58 UTC
968b2bb docs: Update security.md to include Trusted Types (#40142) PR Close #40142 14 January 2021, 18:19:08 UTC
17f6b78 docs(core): add Ivy note to entryComponents page (#35479) PR Close #35479 14 January 2021, 18:18:17 UTC
f4ed122 docs(common): updated differential loading section (#37913) PR Close #37913 14 January 2021, 17:16:37 UTC
c6c7e9a docs: update identity-revealed.directive.ts to use `AbstractControl` instead of `FormGroup` (#40132) Changes example code to accept an `AbstractControl` instead of `FormGroup` in `identityRevealedValidator` function. Closes #40131. PR Close #40132 13 January 2021, 22:47:54 UTC
76cabb2 build: remove pre-check script from publish scripts as it no longer performs its check (#40422) Previously the pre-check confirmed that the stamping value was normal and expected, however with the new stamping methodology of marking for publish via flag, the check no longer will ever see anything but a passing version, since it is stamped as publish. PR Close #40422 13 January 2021, 22:43:00 UTC
0664d75 perf(core): make DI decorators tree-shakable when used for `useFactory` deps config (#40145) This commit updates the logic that calculates `useFactory` function arguments to avoid relying on `instanceof` checks (thus always retaining symbols) and relies on flags that DI decorators contain (as a monkey-patched property). Another perf benefit is having less megamorphic reads while calculating args for the `useFactory` call: we used to check whether a token has `ngMetadataName` property 4 times (in worst case), now we have just 1 megamorphic read in all cases. Closes #40143. PR Close #40145 13 January 2021, 22:08:45 UTC
a5c4adc ci: add mgechev to docs-marketing approvers (#40396) Add mgechev to docs-marketing approvals to allow approval of aio changes PR Close #40396 13 January 2021, 22:03:35 UTC
bbda311 build(docs-infra): fail if we attempt to autolink to a private doc (#40404) Previously we only logged a warning if we attempted to auto-link to a doc that had no `path` property, which implies that it is private and is not rendered. Now we fail hard during full doc-gen, although when running the `yarn serv-and-sync` command it should not fail if changes are only made to guides, which is what authors who use this tool are most likely to do. PR Close #40404 13 January 2021, 22:03:07 UTC
f675dbf build(docs-infra): ensure private exported subclasses are not rendered (#40404) Previously, only the first layer of sub-classes were filtered to remove private exports. But on recursing down further levels these were not filtered out. PR Close #40404 13 January 2021, 22:03:07 UTC
b12b648 build(docs-infra): add `@default` tag-def support (#40404) This tag-def is being used in the `platform-server` source code, and was causing warnings in the doc-gen. Adding support prevents the warning from being shown. Other than that this change has no effect on the generated documentation, since the `@default` tag is not used in any templates. PR Close #40404 13 January 2021, 22:03:07 UTC
71c5e75 build(docs-infra): do not display stack trace on doc-gen error (#40404) This commit updates `dgeni` to the latest version, which will now only display the stack-trace after an error if the logger is set to `debug`. Fixes #39610 PR Close #40404 13 January 2021, 22:03:07 UTC
7a9bc99 docs: add links to TypeScript (#40410) PR Close #40410 13 January 2021, 22:02:33 UTC
back to top