https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
57575e3 release: cut the v10.1.0-next.3 release 28 July 2020, 22:17:32 UTC
28c3e2d docs: release notes for the v10.0.6 release 28 July 2020, 22:07:19 UTC
2a45b93 build: fix broken build (#38274) ``` export const __core_private_testing_placeholder__ = ''; ``` This API should be removed. But doing so seems to break `google3` and so it requires a bit of investigation. A work around is to mark it as `@codeGenApi` for now and investigate later. PR Close #38274 28 July 2020, 19:30:59 UTC
5a12ab4 Revert "ci: roll back phased review conditions" (#38259) This reverts commit ca8eafc2983f983803cd03e4a08bf732672712dd. PR Close #38259 28 July 2020, 18:26:27 UTC
8a543d8 ci: only check active groups for the `no-groups-above-this-*` checks (#38259) Since PullApprove starts all inactive groups as a pending state, to properly assess if any groups we care about are pending we must only check the active groups. We additionally do this with rejected because the intention of the reusable checks is around checking active rules only. PR Close #38259 28 July 2020, 18:26:27 UTC
9893576 docs(elements): update api doc for custom elements (#38252) by adding cross-references to Angular Elements Overview guide. PR Close #38252 28 July 2020, 18:19:03 UTC
af80bdb fix(core): `Attribute` decorator `attributeName` is mandatory (#38131) `Attribute` decorator has defined `attributeName` as optional but actually its mandatory and compiler throws an error if `attributeName` is undefined. Made `attributeName` mandatory in the `Attribute` decorator to reflect this functionality Fixes #32658 PR Close #38131 28 July 2020, 18:17:24 UTC
b4449e3 docs(core): correct SomeService to SomeComponent (#38264) PR Close #38264 28 July 2020, 18:10:58 UTC
3d0be52 docs: update api reference doc for router-link-active directive (#38247) Edits and organizes the usage information for the directive. PR Close #38247 28 July 2020, 18:09:44 UTC
be3e705 ci: roll back phased review conditions (#38257) It was determined that the list of 'pending' groups also included inactive groups. That means that the 'no-groups-above-this-pending' would generally fail because there's almost always some inactive group above it. This commit removes the conditions for phased review while we investigate if the inactive groups can be excluded. PR Close #38257 28 July 2020, 17:02:14 UTC
cf98db2 docs: Refactor module-types.md to make it easier to understand (#38206) Project DOCS-736 to rewrite headings to focus on user tasks, verify that the content is up-to-date and complete, and add relevant links to other NgModule topics to improve readability. Also addresses one of many issues in GitHub issue 21531. PR Close #38206 28 July 2020, 17:01:37 UTC
5621452 ci: add more owners for limited categories (#38170) * Add alxhub, atscott, and AndrewKushnir to code owners * Add atscott & AndrewKushnir to public-api and size-tracking Follow-up to #37994 PR Close #38170 28 July 2020, 17:01:04 UTC
b0676e8 docs: Refactor ngmodule-vs-jsmodule.md to make it easier to understand (#38148) Project DOCS-734 to rewrite headings to focus on user tasks, verify that the content is up-to-date and complete, and add relevant links to other NgModule topics to improve readability. Also addresses one of many issues in GitHub issue 21531. PR Close #38148 28 July 2020, 17:00:28 UTC
b142283 fix(core): unify the signature between ngZone and noopZone (#37581) Now we have two implementations of Zone in Angular, one is NgZone, the other is NoopZone. They should have the same signatures, includes 1. properties 2. methods In this PR, unify the signatures of the two implementations, and remove the unnecessary cast. PR Close #37581 28 July 2020, 16:59:49 UTC
e79b6c3 Revert "refactor(core): remove unused export (#38224)" This reverts commit fbe1a9cbaaec91bb5ca8d1b47ebd7b6363ae6568. 28 July 2020, 16:54:25 UTC
65cc0c8 fix(compiler-cli): Add support for string literal class members (#38226) The current implementation of the TypeScriptReflectionHost does not account for members that are string literals, i.e. `class A { 'string-literal-prop': string; }` PR Close #38226 27 July 2020, 22:26:27 UTC
03a6252 docs: update api reference doc for router link directive (#38181) Edits and organizes the usage information for the directive. PR Close #38181 27 July 2020, 22:25:44 UTC
174aac6 refactor(platform-browser): specify return type of parseEventName (#38089) This commit refactors the argument of the `parseEventName` function to use an object with named properties instead of using an object indexer. PR Close #38089 27 July 2020, 22:24:59 UTC
5d3ba8d test: update ts-api-guardian's strip_export_pattern to exclude Ivy instructions (#38224) Previously the instructions were included in the golden files to monitor the frequency and rate of the instruction API changes for the purpose of understanding the stability of this API (as it was considered for becoming a public API and deployed to npm via generated code). This experiment has confirmed that the instruction API is not stable enough to be used as public API. We've since also came up with an alternative plan to compile libraries with the Ivy compiler for npm deployment and this plan does not rely on making Ivy instructions public. For these reasons, I'm removing the instructions from the golden files as it's no longer important to track them. The are three instructions that are still being included: `ɵɵdefineInjectable`, `ɵɵinject`, and `ɵɵInjectableDef`. These instructions are already generated by the VE compiler to support tree-shakable providers, and code depending on these instructions is already deployed to npm. For this reason we need to treat them as public api. This change also reduces the code review overhead, because changes to public api golden files now require multiple approvals. PR Close #38224 27 July 2020, 21:37:41 UTC
fbe1a9c refactor(core): remove unused export (#38224) This export used to be here to turn this file into an ES Module - this is no longer needed because the file contains imports. PR Close #38224 27 July 2020, 21:37:41 UTC
8f7d894 refactor: correct @publicApi and @codeGenApi markers in various files (#38224) The markers were previously incorrectly assigned. I noticed the issues when reviewing the golden files and this change corrects them. PR Close #38224 27 July 2020, 21:37:41 UTC
96aa14d fix(zone.js): zone patch rxjs should return null _unsubscribe correctly. (#37091) Close #31684. In some rxjs operator, such as `retryWhen`, rxjs internally will set `Subscription._unsubscribe` method to null, and the current zone.js monkey patch didn't handle this case correctly, even rxjs set _unsubscribe to null, zone.js still return a function by finding the prototype chain. This PR fix this issue and the following test will pass. ``` const errorGenerator = () => { return throwError(new Error('error emit')); }; const genericRetryStrategy = (finalizer: () => void) => (attempts: Observable<any>) => attempts.pipe( mergeMap((error, i) => { const retryAttempt = i + 1; if (retryAttempt > 3) { return throwError(error); } return timer(retryAttempt * 1); }), finalize(() => finalizer())); errorGenerator() .pipe( retryWhen(genericRetryStrategy(() => { expect(log.length).toBe(3); done(); })), catchError(error => of(error))) .subscribe() ``` PR Close #37091 27 July 2020, 19:10:27 UTC
2b6ab57 docs: add template ref var to glossary (#36743) There is not an entry in the glossary for template reference variable. To clarify for site visitors, we are adding one here. PR Close #36743 27 July 2020, 19:01:47 UTC
b65b616 docs: fix breaking URL for RxJS marble testing (#38209) When checking this URL for the `RxJS marble testing` Ive found it pointing to `Page not found` PR Close #38209 27 July 2020, 18:12:07 UTC
f74cfad docs: clarify the description of pipes (#37950) This commit clarifies some of the language regarding pipes in the pipes guide. This commit also specifies the term transforming rather than formatting. PR Close #37950 27 July 2020, 17:23:20 UTC
8e5969b fix(compiler): share identical stylesheets between components in the same file (#38213) Prior to this commit, duplicated styles defined in multiple components in the same file were not shared between components, thus causing extra payload size. This commit updates compiler logic to use `ConstantPool` for the styles (while generating the `styles` array on component def), which enables styles sharing when needed (when duplicates styles are present). Resolves #38204. PR Close #38213 27 July 2020, 17:04:30 UTC
8fdfa7b refactor(compiler): allow strings with certain length to be included into `ConstantPool` (#38213) Prior to this commit, the `ConstantPool` ignored all primitive values. It turned out that it's beneficial to include strings above certain length to the pool as well. This commit updates the `ConstantPool` logic to allow such strings to be shared across multiple instances if needed. For instance, this is helpful for component styles that might be reused across multiple components in the same file. PR Close #38213 27 July 2020, 17:04:30 UTC
2fdc18b refactor(compiler): separate compilation and transform phases (#38213) This commit splits the transformation into 2 separate steps: Ivy compilation and actual transformation of corresponding TS nodes. This is needed to have all `o.Expression`s generated before any TS transforms happen. This allows `ConstantPool` to properly identify expressions that can be shared across multiple components declared in the same file. Resolves #38203. PR Close #38213 27 July 2020, 17:04:30 UTC
1296003 docs: add ng-add save option (#38198) PR Close #38198 27 July 2020, 16:52:14 UTC
4dfc3fe refactor(router): extract Router config utils to a separate file (#38229) This commit refactors Router package to move config utils to a separate file for better organization and to resolve the problem with circular dependency issue. Resolves #38212. PR Close #38229 27 July 2020, 16:49:14 UTC
67e3ecc fix(dev-infra): Ensure conditions with groups do not fail verification (#37798) There are a few changes in this PR to ensure conditions that are based on groups (i.e. `- groups.pending.length == 0`) do not fail the verify task: * Remove the warning when a condition is encountered that depends on the `groups` state. The warning will otherwise be printed once for every file that triggers the execution of the condition (400,000+ times) * Add an `unverifiable` flag to `GroupCondition` interface and set it to true when an error is encountered due to attempting to get the state of `groups` in a condition * Ignore any unverifiable conditions when gathering unmatched conditions. These should not be considered `unmatched` for verification purposes. * Print the unverifiable conditions by group in the results Sample output: ``` ┌──────────────────────────────────────────────────────────────────────────────┐ │ PullApprove results by group │ └──────────────────────────────────────────────────────────────────────────────┘ Groups skipped (4 groups) Matched conditions by Group (37 groups) Unmatched conditions by Group (0 groups) Unverifiable conditions by Group (3 groups) [public-api] len(groups.pending.exclude("required-minimum-review")... len(groups.rejected.exclude("required-minimum-review")... [size-tracking] len(groups.pending.exclude("required-minimum-review")... len(groups.rejected.exclude("required-minimum-review")... [circular-dependencies] len(groups.pending.exclude("required-minimum-review")... len(groups.rejected.exclude("required-minimum-review")... ``` PR Close #37798 25 July 2020, 00:59:39 UTC
9821443 feat(dev-infra): add phased review to groups requiring final sign-off after initial review (#37798) The size-tracking, public-api, and circular-dependencies groups can get a lot of PRs to review. In addition, the members of these groups do not always have the necessary context to fully review the PR in question. This change ensures that the owners in the groups where the changes are being made have approve the changes (ie, the aren't pending or rejected) before requesting final sign-off from these three critical groups. PR Close #37798 25 July 2020, 00:59:39 UTC
c91cdea refactor(dev-infra): create anchors/aliases for excluded always active groups (#37798) global-approvers, global-docs-approvers, and required-minimum-review groups are always active. It's useful to have aliases for getting groups that are active/pending/rejected while excluding these few. PR Close #37798 25 July 2020, 00:59:39 UTC
6a3e68b docs(zone.js): update zone.js bundle doc since the APF change (#37919) Since the PR #36540 change the zone.js bundles to Angular Package Format, the bundle name/location are changed, so this PR updated the `README.md` doc for the zone bundles. Also add the recent added new bundles `zone-patch-message-port` doc. PR Close #37919 24 July 2020, 22:46:45 UTC
1822cbc fix(zone.js): patch nodejs EventEmtter.prototype.off (#37863) Close #35473 zone.js nodejs patch should also patch `EventEmitter.prototype.off` as `removeListener`. So `off` can correctly remove the listeners added by `EventEmitter.prototype.addListener` PR Close #37863 24 July 2020, 22:45:00 UTC
a71f114 fix(zone.js): clearTimeout/clearInterval should call on object global (#37858) Close #37333 `clearTimeout` is patched by `zone.js`, and it finally calls the native delegate of `clearTimeout`, the current implemention only call `clearNative(id)`, but it should call on object `global` like `clearNative.call(global, id)`. Otherwise in some env, it will throw error `clearTimeout called on an object that does not implement interface Window` PR Close #37858 24 July 2020, 22:22:47 UTC
253337d feat(zone.js): move MutationObserver/FileReader to different module (#31657) Separate `EventTarget`, `FileReader`, `MutationObserver` and `IntersectionObserver` patches into different module. So the user can disable those modules separately. PR Close #31657 24 July 2020, 22:12:28 UTC
6e2db22 docs: Fix link by removing a space (#38214) PR Close #38214 24 July 2020, 16:53:06 UTC
cce5583 docs(core): Fix incorrectly rendered code example in structural directives guide (#38207) The code example was missing a close brace and also incorrectly rendered the template div as an actual div in the page DOM. PR Close #38207 24 July 2020, 16:52:30 UTC
307db74 docs: fixed that class attribute is not closed (#38219) PR Close #38219 24 July 2020, 15:15:44 UTC
88d4b26 build(docs-infra): simplify `ExampleZipper` by removing `PackageJsonCustomizer` (#38192) Previously, `ExampleZipper` (the tool used for creating ZIP archives from our docs examples) used the `PackageJsonCustomizer` to generate `package.json` files for each example type. This had the following drawbacks: - The generated files had to be kept up-to-date with the corresponding boilerplate files in `aio/tools/examples/shared/boilerplate/` and there was no easy way to find out when the files got out-of-sync. - The `PackageJsonCustomizer` logic was non-trivial and difficult to reason about. - The same information was duplicated in the boilerplate files and the customizer configuration files. This setup was useful when we used a single `package.json` file for all docs examples. Now, however, each example type can have its own boilerplate `package.json` file, including scripts and dependencies relevant to the example type. Therefore, it is no longer necessary to generate `package.json` files for ZIP archives. This commit eliminates the drawbacks mentioned above and simplifies the `ExampleZipper` tool by removing `PackageJsonCustomizer` and re-using the boilerplate `package.json` files for ZIP archives. The changes in this commit also fix some ZIP archives that were previously broken (for example due to missing dependencies). PR Close #38192 23 July 2020, 18:08:11 UTC
ee22aa5 fix(docs-infra): correctly display copy button in IE11 (#38186) Fix button top portion was clipped in IE11 by setting overflow to visible Fixes #37816 PR Close #38186 23 July 2020, 18:07:28 UTC
dd09fb5 build(docs-infra): upgrade cli command docs sources to b0b27361d (#38182) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/b76099083...b0b27361d): **Modified** - help/update.json PR Close #38182 23 July 2020, 18:06:17 UTC
d0060dc refactor(dev-infra): Add support for groups in the conditions evaluator (#38164) Conditions can refer to the groups array that is a list of the preceding groups. This commit adds support to the verification for those conditions. This commit also adds some tests to the parsing and condition matching to ensure everything works as expected. PR Close #38164 23 July 2020, 18:05:42 UTC
7b2e2f5 build(forms): create sample forms app (#38044) This commit creates a sample forms test application to introduce the symbol tests. It serves as a guard to ensure that any future work on the forms package does not unintentionally increase the payload size. PR Close #38044 23 July 2020, 18:04:46 UTC
b518b30 docs: add Kevin Kreuzer to GDE page (#37929) This commit adds Kevin Kreuzer to the Angular GDE page along with a biography, his contributions, and a photograph. PR Close #37929 23 July 2020, 18:03:57 UTC
51aa4aa docs: update dynamic-component loading guide (#36959) The 'entryComponents' array is no longer a special case for dynamic component loading because of the Ivy compiler. PR Close #36959 23 July 2020, 18:01:08 UTC
8bb8f98 docs: remove duplicate `https://` (#38199) This doc contained a duplicate `http://` before the domain name leading to an invalid link. This commit fixes this issue. PR Close #38199 23 July 2020, 17:54:44 UTC
3c1866b docs: update api reference for router outlet directive (#38166) Incorporate more specific information about multiple outlets and how to target them, with link to tutorial example. PR Close #38166 23 July 2020, 03:50:12 UTC
062b8d9 refactor(forms): refactor common validators used in unit tests (#38020) A util file is added to forms test package: - it exposes simpleAsyncValidator, asyncValidator and asyncValidatorReturningObservable validators - it refactors simpleAsyncValidator and asyncValidator to use common promise creation code - it exposes currentStateOf allowing to get the validation state of a list of AbstractControl Closes #37831 PR Close #38020 23 July 2020, 03:42:43 UTC
8df888d fix(elements): run strategy methods in correct zone (#37814) Default change detection fails in some cases for @angular/elements where component events are called from the wrong zone. This fixes the issue by running all ComponentNgElementStrategy methods in the same zone it was created in. Fixes #24181 PR Close #37814 23 July 2020, 03:35:47 UTC
778ad37 docs: create coding standards doc (#37700) Create initial document for Angular framework coding standards. This document will evolve over time. This version contains all non-controversial rules as discussed in a recent team meeting. Some text and examples were copied from angular/components. PR Close #37700 23 July 2020, 03:32:34 UTC
5a73362 build(docs-infra): remove boilerplate file listings in `example-boilerplate.js` (#38173) To avoid unnecessary code duplication in docs examples, we have some boilerplate files for various example types (in `aio/tools/examples/shared/boilerplate/`). These files are copied to each example project in `aio/content/examples/` (according to the example's type, as specified in its `example-config.json` file). Previously, the `example-boilerplate.js`, which is responsible for copying the boilerplate files, had lists for files to be copied for each project type and only copied the listed files from the boilerplate directory to the example directory. This approach had some drawbacks: - Files need to be updated in two separate locations: in the boilerplate directory that includes the files and the file list in `example-boilerplate.js`. - It is easy to add a file in the boilerplate directory but forget to add it in `example-boilerplate.js` and not realize that it is not being included in the example project (including the generated StackBlitz project and ZIP archive). This commit changes the approach by removing the boilerplate file listings from `example-boilerplate.js` and copying all files from a boilerplate directory to example directories. This addresses the above drawbacks and simplifies the `example-boilerplate.js` script. I have verified that the resulting code example doc regions as well as the generated StackBlitz projects and ZIP archives are identical to the ones generated before this commit. PR Close #38173 22 July 2020, 17:15:09 UTC
65da877 fix(docs-infra): include `.gitignore` file in CLI-based docs examples (#38173) Previously, the `.gitignore` file that is part of the boilerplate files for CLI-based docs examples (located in `aio/tools/examples/shared/boilerplate/cli/`) was not added to the example projects, because it was not included in the boilerplate file list in `example-boilerplate.js`. This commit fixes it by adding the `.gitignore` file to the list. This ensures that docs examples more closely match CLI-generated projects. PR Close #38173 22 July 2020, 17:15:09 UTC
937b89c fix(docs-infra): correctly add `polyfills.ts` file as boilerplate for `i18n` docs examples (#38173) Docs examples of type `i18n` need a slightly modified version of `polyfills.ts` that imports `@angular/localize/init`. Previously, this file was not included in `i18n` example projects for two reasons: - While the file was included in the `i18n` boilerplate files (at `aio/tools/examples/shared/boilerplate/i18n/`), it was not included in the boilerplate file list in `example-boilerplate.js`. - The file was in the wrong location: It was located at the project root instead of inside the `src/` directory. This commit addresses the above issues (i.e. adds the file to the boilerplate file list for `i18n` projects and moves the file inside the `src/` directory). PR Close #38173 22 July 2020, 17:15:09 UTC
b3d81a8 build(docs-infra): remove obsolete `systemjs.config.web[.build].js` files from docs examples (#38173) There were some `systemjs.config.web[.build].js` files in the `systemjs` boilerplate directory that are not used any more. In the past, these files were used in the Plunker-based live examples, but we no longer use Plunker for live examples. This commit removes these obsolete files. PR Close #38173 22 July 2020, 17:15:09 UTC
7491b85 build(docs-infra): remove obsolete `typings.d.ts` files from angular.io and docs examples (#38173) There were two `typings.d.ts` files with SystemJS module definitions in `aio/src/` and `aio/tools/examples/shared/boilerplate/cli/`. These are remnants from old CLI versions that used SystemJS and are no longer needed. For docs examples specifically, these files were never copied over to example projects and thus not included in StackBlitz projects and ZIP archives. This commit removes these obsolete files. PR Close #38173 22 July 2020, 17:15:09 UTC
a1c9f7c docs: fix typo in ng_control.ts (#38157) PR Close #38157 22 July 2020, 17:14:24 UTC
d88711c docs: add Ivy and View Engine test scripts (#38149) Developer docs previously stated to use `yarn bazel test //packages/...` which attempts to test all packages with View Engine (the default), even though not all support View Engine. This updates the doc to use `yarn test-ivy-aot` and `yarn test-non-ivy` which tests both Ivy and View Engine while filtering out tests which are not compatible with each renderer. PR Close #38149 22 July 2020, 17:13:29 UTC
5e742d2 docs: fix typo from singular to plural spelling (#36586) This commit fixes the spelling of the singular form of the word function to the plural spelling in packages/core/src/application_init.ts PR Close #36586 22 July 2020, 17:12:44 UTC
970d10c release: cut the v10.1.0-next.2 release 22 July 2020, 16:55:21 UTC
8851ba9 docs: release notes for the v10.0.5 release 22 July 2020, 16:49:33 UTC
7f82a2c docs: fix type in lazy-load callout (#38153) PR Close #38153 21 July 2020, 21:30:46 UTC
a9910f5 docs: fix DOCUMENT import path (#38158) (#38159) PR Close #38159 21 July 2020, 18:35:41 UTC
ad7046b feat(forms): AbstractControl to store raw validators in addition to combined validators function (#37881) This commit refactors the way we store validators in AbstractControl-based classes: in addition to the combined validators function that we have, we also store the original list of validators. This is needed to have an ability to clean them up later at destroy time (currently it's problematic since they are combined in a single function). The change preserves backwards compatibility by making sure public APIs stay the same. The only public API update is the change to the `AbstractControl` class constructor to extend the set of possible types that it can accept and process (which should not be breaking). PR Close #37881 21 July 2020, 17:30:19 UTC
d72b1e4 refactor(core): rename synthetic host property and listener instructions (#37145) This commit updates synthetic host property and listener instruction names to better align with other instructions. The `ɵɵupdateSyntheticHostBinding` instruction was renamed to `ɵɵsyntheticHostProperty` (to match the `ɵɵhostProperty` instruction name) and `ɵɵcomponentHostSyntheticListener` was renamed to `ɵɵsyntheticHostListener` since this instruction is generated for both Components and Directives (so 'component' is removed from the name). This PR is a followup after PR #35568. PR Close #37145 21 July 2020, 16:09:24 UTC
eae13e4 docs: add routing terms to glossary (#38053) Update glossary to add term definitions for routing; componentless route, link parameters array, router outlet. PR Close #38053 21 July 2020, 00:09:33 UTC
3373453 feat(common): add ReadonlyMap in place of Map in keyValuePipe (#37311) ReadonlyMap is a superset of Map, in keyValuePipe we do not change the value of the object so ReadonlyPipe Works right in this case and we can accomodate more types. To accomodate more types added ReadonlyMap in Key Value pipe. Fixes #37308 PR Close #37311 20 July 2020, 21:13:15 UTC
4a6dcd0 docs(router): fix typos (#38132) PR Close #38132 20 July 2020, 21:12:21 UTC
7c3c8d6 docs(common): fix selector field in NgIfAs example component (#35854) PR Close #35854 20 July 2020, 20:35:04 UTC
655da32 build: update pullapprove to remove @matsko from reviewer lists (#38146) With @matsko leaving the Angular team, we need to update the pullapprove configuration to reflect his no longer being a reviewer for file groups throughout the repository. PR Close #38146 20 July 2020, 20:33:58 UTC
5b31a0a docs: separate template syntax into multiple docs (#36954) This is part of a re-factor of template syntax and structure. The first phase breaks out template syntax into multiple documents. The second phase will be a rewrite of each doc. Specifically, this PR does the following: - Breaks sections of the current template syntax document each into their own page. - Corrects the links to and from these new pages. - Adds template syntax subsection to the left side NAV which contains all the new pages. - Adds the new files to pullapprove. PR Close #36954 20 July 2020, 18:16:44 UTC
5d3d8b8 docs: add known issue for bazel (#38074) This commit adds a known issue for windows, when running tests using `bazal run`, instead of using `bazel test` PR Close #38074 20 July 2020, 18:15:36 UTC
c8c7415 refactor(dev-infra): Update triage labels documentation (#38081) Add new type: confusing and type: use-case labels to the triage readme as well as clarify that freq and severity are only required for type: bug/fix PR Close #38081 20 July 2020, 18:14:46 UTC
9dc5e8e refactor(dev-infra): allow use-case and confusing types to be marked as 'triaged' (#38081) Some issue reports don't really fall into any of the current buckets that count towards triage level 2: bug/fix, feature, or refactor. Some reports are: * working as intended but confusing - the labels might be 'type: confusing', 'comp: docs', 'comp: router' * generally working as originally designed but a use-case could be argued for a different implementation. This type of report is a little hard to triage; it may be neither a bug, nor feature but more of a 'type: use-case'. These may eventually turn into a bug/fix or feature, but can't necessarily be put in those buckets immediately. PR Close #38081 20 July 2020, 18:14:46 UTC
1a7a736 fix(compiler): properly associate source spans for implicitly closed elements (#38126) HTML is very lenient when it comes to closing elements, so Angular's parser has rules that specify which elements are implicitly closed when closing a tag. The parser keeps track of the nesting of tag names using a stack and parsing a closing tag will pop as many elements off the stack as possible, provided that the elements can be implicitly closed. For example, consider the following templates: - `<div><br></div>`, the `<br>` is implicitly closed when parsing `</div>`, because `<br>` is a void element. - `<div><p></div>`, the `<p>` is implicitly closed when parsing `</div>`, as `<p>` is allowed to be closed by the closing of its parent element. - `<ul><li>A <li>B</ul>`, the first `<li>` is implicitly closed when parsing the second `<li>`, whereas the second `<li>` would be implicitly closed when parsing the `</ul>`. In all the cases above the parsed structure would be correct, however the source span of the closing `</div>` would incorrectly be assigned to the element that is implicitly closed. The problem was that closing an element would associate the source span with the element at the top of the stack, however this may not be the element that is actually being closed if some elements would be implicitly closed. This commit fixes the issue by assigning the end source span with the element on the stack that is actually being closed. Any implicitly closed elements that are popped off the stack will not be assigned an end source span, as the implicit closing implies that no ending element is present. Note that there is a difference between self-closed elements such as `<input/>` and implicitly closed elements such as `<input>`. The former does have an end source span (identical to its start source span) whereas the latter does not. Fixes #36118 Resolves FW-2004 PR Close #38126 20 July 2020, 17:02:06 UTC
8edf5ba refactor(compiler): remove unused parser methods (#38126) These methods are no longer used so they can safely be removed. PR Close #38126 20 July 2020, 17:02:06 UTC
72f1eec docs(core): add note about not mutating multi provider arrays (#37645) Adds a note to the provider docs that users shouldn't mutate an array that is returned from a `multi` provider, because it can cause unforeseen consequences in other parts of the app. Closes #37481. PR Close #37645 20 July 2020, 17:00:05 UTC
136acdf docs: correct flag default values in `--strict` (#37982) Docs state that `strictInjectionParameters` is true by default in `ng new`, however this is not the case in `10.0.1`. It is only set when `--strict` is provided. Clarified that the `--strict` flag is required. `strictTemplates` does not mention anything about `--strict`, so I included a similar point that it is `true` when a new project is generated with `--strict`. PR Close #37982 17 July 2020, 23:26:49 UTC
095cfd9 build: Ignore .history for the xyz.local-history VSCode extension (#38121) Ignore .history for the xyz.local-history VSCode extension PR Close #38121 17 July 2020, 20:33:39 UTC
38a7021 fix(core): error due to integer overflow when there are too many host bindings (#38014) We currently use 16 bits to store information about nodes in a view. The 16 bits give us 65536 entries in the array, but the problem is that while the number is large, it can be reached by ~4300 directive instances with host bindings which could realistically happen is a very large view, as seen in #37876. Once we hit the limit, we end up overflowing which eventually leads to a runtime error. These changes bump to using 20 bits which gives us around 1048576 entries in the array or 16 times more than the current amount which could still technically be reached, but is much less likely and the user may start hitting browser limitations by that point. I picked the 20 bit number since it gives us enough buffer over the 16 bit one, while not being as massive as a 24 bit or 32 bit. I've also added a dev mode assertion so it's easier to track down if it happens again in the future. Fixes #37876. PR Close #38014 17 July 2020, 19:58:15 UTC
b3b03c3 fix(docs-infra): correctly display SVG icons in IE11 (#38046) Fix two issues that affected displaying of SVG icons in IE11: 1. All SVG icons except for one appeared empty. This was related how the CustomIconRegistry re-used the same <div> element to create all SVG elements. 2. The GitHub and Twitter buttons next to the search bar were not sized properly. Fixes #37847 PR Close #38046 17 July 2020, 18:44:34 UTC
fd45f74 docs(docs-infra): reformat redundant sentence (#38109) reformat sentence uses the npm package manager since npm is node package manager Fixes #38106 PR Close #38109 17 July 2020, 18:39:16 UTC
58f6079 build(language-service): add script to build package locally (#38103) This commit adds a script to build @angular/language-service locally so that it can be consumed by the Angular extension for local development. PR Close #38103 16 July 2020, 23:39:54 UTC
e382632 build: fix symbol extractor not dealing with ES2015 classes (#38093) We recently reworked our `ng_rollup_bundle` rule to no longer output ESM5 and to optimize applications properly (previously applications were not optimized properly due to incorrect build optimizer setup). This change meant that a lot of symbols have been removed from the golden correctly. See: fd65958b887f6ea8dd5235e6de1d533e4c578602 Unfortunately though, a few symbols have been accidentally removed because they are now part of the bundle as ES2015 classes which the symbol extractor does not pick up. This commit fixes the symbol extractor to capture ES2015 classes. We also update the golden to reflect this change. PR Close #38093 16 July 2020, 20:54:23 UTC
cf9a47b feat(localize): allow duplicate messages to be handled during extraction (#38082) Previously, the i18n message extractor just quietly ignored messages that it extracted that had the same id. It can be helpful to identify these to track down messages that have the same id but different message text. Now the messages are checked for duplicate ids with different message text. Any that are found can be reported based on the new `--duplicateMessageHandling` command line option (or `duplicateMessageHandling` API options property). * "ignore" - no action is taken * "warning" - a diagnostic warning is written to the logger * "error" - the extractor throws an error and exits Fixes #38077 PR Close #38082 16 July 2020, 20:53:38 UTC
56dd3e7 refactor(localize): remove unnecessary ! operator (#38082) The messages property always exists so there is no need for the ! operator. PR Close #38082 16 July 2020, 20:53:38 UTC
6c9401c docs: update router api documentation (#37980) Edit descriptions, usage examples, and add links to be complete and consistent with API reference doc style PR Close #37980 16 July 2020, 20:52:40 UTC
019a696 Revert "build: remove obsolete Bazel function ctx.new_file (#38080)" (#38101) This reverts commit 406f801b7072f65491eac332056a8e444027dc10. The reason for the revert is the breakage in i18n subsystem in g3. PR Close #38101 16 July 2020, 18:06:23 UTC
8b25a64 build(language-service): remove typescript from ivy bundle (#38088) Currently the Ivy language service bundle is [10MB]( https://unpkg.com/browse/@angular/language-service@10.0.4/bundles/) because we accidentally included typescript in the bundle. With this change, the bundle size goes down to 1.6MB, which is even smaller than the View Engine bundle (1.8MB). ```bash $ yarn bazel build //packages/language-service/bundles:ivy $ ls -lh dist/bin/packages/language-service/bundles/ivy.umd.js 1.6M Jul 15 15:49 dist/bin/packages/language-service/bundles/ivy.umd.js ``` PR Close #38088 16 July 2020, 18:04:57 UTC
bd71f10 build(language-service): Remove ls_rollup_bundle (#38086) `ls_rollup_bundle` is no longer needed since we could invoke `ng_rollup_bundle` directly. Background: language service runs rollup to produce a single file to reduce startup time in the editor. However, due to the need to load dynamic versions of typescript at runtime (think the case where users can change typescript version in their editor), we hack the "banner" to export a CommonJS default function, so that we could dynamically load the typescript module provided at runtime via AMD and use it throughout the implementation. PR Close #38086 16 July 2020, 18:04:28 UTC
e0b35bf ci: add more owners for some categories (#37994) * Add petebacondarwin to public-api, size-tracking, and circular-dependencies * Add mhevery, josephperrott, and jelbourn to code-ownership PR Close #37994 16 July 2020, 18:03:55 UTC
c1539b1 docs: add Ajit Singh to the collaborators (#37792) Ajit Singh is a newly added collborator after a few months of contributing add him to the contributors.json PR Close #37792 16 July 2020, 18:02:07 UTC
737506e fix(core): Allow modification of lifecycle hooks any time before bootstrap (#35464) Currently we read lifecycle hooks eagerly during `ɵɵdefineComponent`. The result is that it is not possible to do any sort of meta-programing such as mixins or adding lifecycle hooks using custom decorators since any such code executes after `ɵɵdefineComponent` has extracted the lifecycle hooks from the prototype. Additionally the behavior is inconsistent between AOT and JIT mode. In JIT mode overriding lifecycle hooks is possible because the whole `ɵɵdefineComponent` is placed in getter which is executed lazily. This is because JIT mode must compile a template which can be specified as `templateURL` and those we are waiting for its resolution. - `+` `ɵɵdefineComponent` becomes smaller as it no longer needs to copy lifecycle hooks from prototype to `ComponentDef` - `-` `ɵɵNgOnChangesFeature` feature is now always included with the codebase as it is no longer tree shakable. Previously we have read lifecycle hooks from prototype in the `ɵɵdefineComponent` so that lifecycle hook access would be monomorphic. This decision was made before we had `T*` data structures. By not reading the lifecycle hooks we are moving the megamorhic read form `ɵɵdefineComponent` to instructions. However, the reads happen on `firstTemplatePass` only and are subsequently cached in the `T*` data structures. The result is that the overall performance should be same (or slightly better as the intermediate `ComponentDef` has been removed.) - [ ] Remove `ɵɵNgOnChangesFeature` from compiler. (It will no longer be a feature.) - [ ] Discuss the future of `Features` as they hinder meta-programing. Fix #30497 PR Close #35464 15 July 2020, 23:22:46 UTC
469aba0 docs: add Emma Twersky to DevRel Contributor page (#38084) This commit adds Emma Twersky to the Angular Contributors page along with a bio & a photograph. PR Close #38084 15 July 2020, 20:50:39 UTC
d8c47b9 docs: fix typo in "Creating libraries" guide (`by publishing...ensures` --> `publishing...ensures`) (#38032) PR Close #38032 15 July 2020, 20:12:14 UTC
24b4205 docs(service-worker): fix typos in `SwRegistrationOptions` API docs (#38047) PR Close #38047 15 July 2020, 20:10:25 UTC
bf641e1 fix(core): incorrectly validating properties on ng-content and ng-container (#37773) Fixes the following issues related to how we validate properties during JIT: - The invalid property warning was printing `null` as the node name for `ng-content`. The problem is that when generating a template from `ng-content` we weren't capturing the node name. - We weren't running property validation on `ng-container` at all. This used to be supported on ViewEngine and seems like an oversight. In the process of making these changes, I found and cleaned up a few places where we were passing in `LView` unnecessarily. PR Close #37773 15 July 2020, 19:39:39 UTC
406f801 build: remove obsolete Bazel function ctx.new_file (#38080) The function was removed by default in Bazel 0.27. It is still accessible with the flag `--incompatible_new_actions_api` (which is set in Google code base), but the flag will be deleted very soon. This change should be a no-op for Bazel users. The change was tested in Google (cl/318277076) and should be safe as well. PR Close #38080 15 July 2020, 19:39:00 UTC
c8e77d8 ci(docs-infra): increase minimum a11y scores for various pages (#37899) As part of our CI checks, we ensure the a11y score on certain angular.io pages do not fall below some thresholds. This commit increases these thresholds based on our current scores to ensure we do not regress below current values. PR Close #37899 15 July 2020, 19:38:07 UTC
back to top