https://github.com/angular/angular
- HEAD
- refs/heads/10.0.x
- refs/heads/10.1.x
- refs/heads/10.2.x
- refs/heads/11.0.x
- refs/heads/11.1.x
- refs/heads/11.2.x
- refs/heads/12.0.x
- refs/heads/12.1.x
- refs/heads/12.2.x
- refs/heads/12.3.x
- refs/heads/13.0.x
- refs/heads/13.1.x
- refs/heads/13.2.x
- refs/heads/13.3.x
- refs/heads/13.4.x
- refs/heads/14.0.x
- refs/heads/14.1.x
- refs/heads/14.2.x
- refs/heads/14.3.x
- refs/heads/15.0.x
- refs/heads/15.1.x
- refs/heads/15.2.x
- refs/heads/16.0.x
- refs/heads/16.1.x
- refs/heads/16.2.x
- refs/heads/17.0.x
- refs/heads/17.1.x
- refs/heads/17.2.x
- refs/heads/17.3.x
- refs/heads/18.0.x
- refs/heads/18.1.x
- refs/heads/18.2.x
- refs/heads/2.0.x
- refs/heads/2.1.x
- refs/heads/2.2.x
- refs/heads/2.3.x
- refs/heads/2.4.x
- refs/heads/4.0.x
- refs/heads/4.1.x
- refs/heads/4.2.x
- refs/heads/4.3.x
- refs/heads/4.4.x
- refs/heads/5.0.x
- refs/heads/5.1.x
- refs/heads/5.2.x
- refs/heads/5.2x
- refs/heads/52695-improve-clarity-of-tutorial-intro
- refs/heads/53015-add-h1-for-skip-to-main-content
- refs/heads/55510/fix-security-guide-links
- refs/heads/55725-fix-visible-snippets
- refs/heads/6.0.x
- refs/heads/6.1.x
- refs/heads/7.0.x
- refs/heads/7.1.x
- refs/heads/7.2.x
- refs/heads/8.0.x
- refs/heads/8.1.x
- refs/heads/8.2.x
- refs/heads/9.0.x
- refs/heads/9.1.x
- refs/heads/JeanMeche-patch-1
- refs/heads/add-adev-docs
- refs/heads/add-ben-to-reviewers
- refs/heads/add-docs-script-command
- refs/heads/add-missing-border-on-editor
- refs/heads/backup-7.2.x
- refs/heads/bazel
- refs/heads/browser-update-test
- refs/heads/docs-developer-preview-fix
- refs/heads/docs/update-security-guide-reference
- refs/heads/dylhunn-patch-1
- refs/heads/dylhunn-zonejs-instructions
- refs/heads/fix-extra-padding-on-tutorial-editor
- refs/heads/fix-missing-security-guide
- refs/heads/fix-playground-spacing-issue
- refs/heads/g3
- refs/heads/image-directive-13.3.x
- refs/heads/in-depth-guides-refactor
- refs/heads/jperrott-test
- refs/heads/main
- refs/heads/publish-snapshots
- refs/heads/redirects-aio
- refs/heads/remove-aio-stuff
- refs/heads/remove-embedded-editor-from-first-app
- refs/heads/robots-aio
- refs/heads/saucelabs-bazel
- refs/heads/signals
- refs/heads/sonukapoor-patch-1
- refs/heads/styling-experiments
- refs/heads/twerske-patch-1
- refs/heads/twerske-patch-2
- refs/heads/twerske-v18-changelog
- refs/heads/update-dropdown-for-v18
- refs/heads/watch-burn-rates
- refs/heads/windows-executor-no-cache
- refs/remotes/presubmit-pr-2853
- refs/renovate/branches/renovate/core-js-3.x
- refs/renovate/branches/renovate/cross-repo-angular-dependencies
- refs/renovate/branches/renovate/firebase-tools-11.x
- refs/reviewable/pr1707/r1
- refs/reviewable/pr1855/r1
- refs/reviewable/pr1977/r1
- refs/reviewable/pr1995/r1
- refs/reviewable/pr2164/r1
- refs/reviewable/pr2218/r1
- refs/reviewable/pr2255/r1
- refs/reviewable/pr2257/r1
- refs/reviewable/pr2317/r1
- refs/reviewable/pr2337/r1
- refs/reviewable/pr2347/r1
- refs/reviewable/pr2407/r1
- refs/reviewable/pr2419/r1
- refs/reviewable/pr2419/r2
- refs/reviewable/pr2419/r3
- refs/reviewable/pr2463/r1
- refs/reviewable/pr2464/r1
- refs/reviewable/pr2464/r2
- refs/reviewable/pr2568/r1
- refs/reviewable/pr2573/r1
- refs/reviewable/pr2573/r2
- refs/reviewable/pr2587/r1
- refs/reviewable/pr2588/r1
- refs/reviewable/pr2593/r1
- refs/reviewable/pr2610/r1
- refs/reviewable/pr2634/r1
- refs/reviewable/pr2641/r1
- refs/reviewable/pr2658/r1
- refs/reviewable/pr2658/r2
- refs/reviewable/pr2665/r1
- refs/reviewable/pr2666/r1
- refs/reviewable/pr2666/r2
- refs/reviewable/pr2667/r1
- refs/reviewable/pr2668/r1
- refs/reviewable/pr2676/r1
- refs/reviewable/pr2679/r1
- refs/reviewable/pr2679/r2
- refs/reviewable/pr2690/r1
- refs/reviewable/pr2695/r1
- refs/reviewable/pr2695/r2
- refs/reviewable/pr2695/r3
- refs/reviewable/pr2699/r1
- refs/reviewable/pr2699/r2
- refs/reviewable/pr2699/r3
- refs/reviewable/pr2699/r4
- refs/reviewable/pr2699/r5
- refs/reviewable/pr2699/r6
- refs/reviewable/pr2703/r1
- refs/reviewable/pr2709/r1
- refs/reviewable/pr2709/r2
- refs/reviewable/pr2711/r1
- refs/reviewable/pr2711/r2
- refs/reviewable/pr2713/r1
- refs/reviewable/pr2713/r2
- refs/reviewable/pr2713/r3
- refs/reviewable/pr2714/r1
- refs/reviewable/pr2714/r2
- refs/reviewable/pr2714/r3
- refs/reviewable/pr2715/r1
- refs/reviewable/pr2715/r2
- refs/reviewable/pr2717/r1
- refs/reviewable/pr2717/r2
- refs/reviewable/pr2719/r1
- refs/reviewable/pr2729/r1
- refs/reviewable/pr2729/r2
- refs/reviewable/pr2731/r1
- refs/reviewable/pr2731/r2
- refs/reviewable/pr2734/r1
- refs/reviewable/pr2735/r1
- refs/reviewable/pr2735/r2
- refs/reviewable/pr2736/r1
- refs/reviewable/pr2737/r1
- refs/reviewable/pr2737/r2
- refs/reviewable/pr2737/r3
- refs/reviewable/pr2737/r4
- refs/reviewable/pr2738/r1
- refs/reviewable/pr2738/r2
- refs/reviewable/pr2742/r1
- refs/reviewable/pr2743/r1
- refs/reviewable/pr2744/r1
- refs/reviewable/pr2744/r2
- refs/reviewable/pr2746/r1
- refs/reviewable/pr2746/r2
- refs/reviewable/pr2749/r1
- refs/reviewable/pr2750/r1
- refs/reviewable/pr2752/r1
- refs/reviewable/pr2757/r1
- refs/reviewable/pr2758/r1
- refs/reviewable/pr2759/r1
- refs/reviewable/pr2760/r1
- refs/reviewable/pr2762/r1
- refs/reviewable/pr2764/r1
- refs/reviewable/pr2767/r1
- refs/reviewable/pr2769/r1
- refs/reviewable/pr2772/r1
- refs/reviewable/pr2772/r2
- refs/reviewable/pr2772/r3
- refs/reviewable/pr2772/r4
- refs/reviewable/pr2773/r1
- refs/reviewable/pr2778/r1
- refs/reviewable/pr2778/r2
- refs/reviewable/pr2780/r1
- refs/reviewable/pr2781/r1
- refs/reviewable/pr2784/r1
- refs/reviewable/pr2789/r1
- refs/reviewable/pr2791/r1
- refs/reviewable/pr2792/r1
- refs/reviewable/pr2792/r2
- refs/reviewable/pr2797/r1
- refs/reviewable/pr2801/r1
- refs/reviewable/pr2802/r1
- refs/reviewable/pr2804/r1
- refs/reviewable/pr2805/r1
- refs/reviewable/pr2854/r1
- refs/reviewable/pr3118/r1
- refs/reviewable/pr3126/r1
- refs/reviewable/pr3132/r1
- refs/reviewable/pr3135/r1
- refs/reviewable/pr3135/r2
- refs/reviewable/pr3135/r3
- refs/reviewable/pr3158/r1
- refs/reviewable/pr3564/r1
- refs/reviewable/pr3592/r1
- refs/reviewable/pr4656/r1
- refs/reviewable/pr4657/r1
- refs/reviewable/pr4702/r1
- refs/reviewable/pr4745/r1
- refs/reviewable/pr864/r1
- refs/tags/10.0.0
- refs/tags/10.0.0-next.0
- refs/tags/10.0.0-next.1
- refs/tags/10.0.0-next.2
- refs/tags/10.0.0-next.3
- refs/tags/10.0.0-next.4
- refs/tags/10.0.0-next.5
- refs/tags/10.0.0-next.6
- refs/tags/10.0.0-next.7
- refs/tags/10.0.0-next.8
- refs/tags/10.0.0-next.9
- refs/tags/10.0.0-rc.0
- refs/tags/10.0.0-rc.2
- refs/tags/10.0.0-rc.3
- refs/tags/10.0.0-rc.4
- refs/tags/10.0.0-rc.5
- refs/tags/10.0.0-rc.6
- refs/tags/10.0.1
- refs/tags/10.0.10
- refs/tags/10.0.11
- refs/tags/10.0.12
- refs/tags/10.0.13
- refs/tags/10.0.14
- refs/tags/10.0.2
- refs/tags/10.0.3
- refs/tags/10.0.4
- refs/tags/10.0.5
- refs/tags/10.0.6
- refs/tags/10.0.7
- refs/tags/10.0.8
- refs/tags/10.0.9
- refs/tags/10.1.0
- refs/tags/10.1.0-next.0
- refs/tags/10.1.0-next.1
- refs/tags/10.1.0-next.2
- refs/tags/10.1.0-next.3
- refs/tags/10.1.0-next.4
- refs/tags/10.1.0-next.5
- refs/tags/10.1.0-next.6
- refs/tags/10.1.0-next.7
- refs/tags/10.1.0-next.8
- refs/tags/10.1.0-rc.0
- refs/tags/10.1.1
- refs/tags/10.1.2
- refs/tags/10.1.3
- refs/tags/10.1.4
- refs/tags/10.1.5
- refs/tags/10.1.6
- refs/tags/10.2.0
- refs/tags/10.2.1
- refs/tags/10.2.2
- refs/tags/10.2.3
- refs/tags/10.2.4
- refs/tags/10.2.5
- refs/tags/11.0.0
- refs/tags/11.0.0-next.0
- refs/tags/11.0.0-next.1
- refs/tags/11.0.0-next.2
- refs/tags/11.0.0-next.3
- refs/tags/11.0.0-next.4
- refs/tags/11.0.0-next.5
- refs/tags/11.0.0-next.6
- refs/tags/11.0.0-rc.0
- refs/tags/11.0.0-rc.1
- refs/tags/11.0.0-rc.2
- refs/tags/11.0.0-rc.3
- refs/tags/11.0.1
- refs/tags/11.0.2
- refs/tags/11.0.3
- refs/tags/11.0.4
- refs/tags/11.0.5
- refs/tags/11.0.6
- refs/tags/11.0.7
- refs/tags/11.0.8
- refs/tags/11.0.9
- refs/tags/11.1.0
- refs/tags/11.1.0-next.0
- refs/tags/11.1.0-next.1
- refs/tags/11.1.0-next.2
- refs/tags/11.1.0-next.3
- refs/tags/11.1.0-next.4
- refs/tags/11.1.0-next.5
- refs/tags/11.1.0-rc.0
- refs/tags/11.1.1
- refs/tags/11.1.2
- refs/tags/11.2.0
- refs/tags/11.2.0-next.0
- refs/tags/11.2.0-next.1
- refs/tags/11.2.0-rc.0
- refs/tags/11.2.1
- refs/tags/11.2.10
- refs/tags/11.2.11
- refs/tags/11.2.12
- refs/tags/11.2.13
- refs/tags/11.2.14
- refs/tags/11.2.2
- refs/tags/11.2.3
- refs/tags/11.2.4
- refs/tags/11.2.5
- refs/tags/11.2.6
- refs/tags/11.2.7
- refs/tags/11.2.8
- refs/tags/11.2.9
- refs/tags/12.0.0-next.0
- refs/tags/12.0.0-next.1
- refs/tags/12.0.0-next.2
- refs/tags/12.0.0-next.3
- refs/tags/12.0.0-next.4
- refs/tags/12.0.0-next.5
- refs/tags/12.0.0-next.6
- refs/tags/12.0.0-next.7
- refs/tags/12.0.0-next.8
- refs/tags/12.0.0-next.9
- refs/tags/12.0.0-rc.0
- refs/tags/12.0.0-rc.1
- refs/tags/12.0.0-rc.2
- refs/tags/12.0.0-rc.3
- refs/tags/12.0.1
- refs/tags/12.0.2
- refs/tags/12.0.3
- refs/tags/12.0.4
- refs/tags/12.0.5
- refs/tags/12.1.0
- refs/tags/12.1.0-next.2
- refs/tags/12.1.0-next.3
- refs/tags/12.1.0-next.4
- refs/tags/12.1.0-next.5
- refs/tags/12.1.0-next.6
- refs/tags/12.1.1
- refs/tags/12.1.2
- refs/tags/12.1.3
- refs/tags/12.1.4
- refs/tags/12.1.5
- refs/tags/12.2.0
- refs/tags/12.2.0-next.0
- refs/tags/12.2.0-next.1
- refs/tags/12.2.0-next.2
- refs/tags/12.2.0-next.3
- refs/tags/12.2.0-rc.0
- refs/tags/12.2.1
- refs/tags/12.2.10
- refs/tags/12.2.11
- refs/tags/12.2.12
- refs/tags/12.2.13
- refs/tags/12.2.14
- refs/tags/12.2.15
- refs/tags/12.2.16
- refs/tags/12.2.17
- refs/tags/12.2.2
- refs/tags/12.2.3
- refs/tags/12.2.4
- refs/tags/12.2.5
- refs/tags/12.2.6
- refs/tags/12.2.7
- refs/tags/12.2.8
- refs/tags/12.2.9
- refs/tags/13.0.0
- refs/tags/13.0.0-next.0
- refs/tags/13.0.0-next.1
- refs/tags/13.0.0-next.10
- refs/tags/13.0.0-next.11
- refs/tags/13.0.0-next.12
- refs/tags/13.0.0-next.13
- refs/tags/13.0.0-next.14
- refs/tags/13.0.0-next.15
- refs/tags/13.0.0-next.2
- refs/tags/13.0.0-next.3
- refs/tags/13.0.0-next.4
- refs/tags/13.0.0-next.5
- refs/tags/13.0.0-next.6
- refs/tags/13.0.0-next.7
- refs/tags/13.0.0-next.8
- refs/tags/13.0.0-next.9
- refs/tags/13.0.0-rc.0
- refs/tags/13.0.0-rc.1
- refs/tags/13.0.0-rc.2
- refs/tags/13.0.0-rc.3
- refs/tags/13.0.1
- refs/tags/13.0.2
- refs/tags/13.0.3
- refs/tags/13.1.0
- refs/tags/13.1.0-next.0
- refs/tags/13.1.0-next.1
- refs/tags/13.1.0-next.2
- refs/tags/13.1.0-next.3
- refs/tags/13.1.1
- refs/tags/13.1.2
- refs/tags/13.1.3
- refs/tags/13.2.0
- refs/tags/13.2.0-next.0
- refs/tags/13.2.0-next.1
- refs/tags/13.2.0-next.2
- refs/tags/13.2.0-rc.0
- refs/tags/13.2.0-rc.1
- refs/tags/13.2.1
- refs/tags/13.2.2
- refs/tags/13.2.3
- refs/tags/13.2.4
- refs/tags/13.2.5
- refs/tags/13.2.6
- refs/tags/13.2.7
- refs/tags/13.3.0
- refs/tags/13.3.0-next.0
- refs/tags/13.3.0-rc.0
- refs/tags/13.3.1
- refs/tags/13.3.10
- refs/tags/13.3.11
- refs/tags/13.3.12
- refs/tags/13.3.2
- refs/tags/13.3.3
- refs/tags/13.3.4
- refs/tags/13.3.5
- refs/tags/13.3.6
- refs/tags/13.3.7
- refs/tags/13.3.8
- refs/tags/13.3.9
- refs/tags/13.4.0
- refs/tags/14.0.0
- refs/tags/14.0.0-next.0
- refs/tags/14.0.0-next.1
- refs/tags/14.0.0-next.10
- refs/tags/14.0.0-next.11
- refs/tags/14.0.0-next.12
- refs/tags/14.0.0-next.13
- refs/tags/14.0.0-next.14
- refs/tags/14.0.0-next.15
- refs/tags/14.0.0-next.16
- refs/tags/14.0.0-next.2
- refs/tags/14.0.0-next.3
- refs/tags/14.0.0-next.4
- refs/tags/14.0.0-next.5
- refs/tags/14.0.0-next.6
- refs/tags/14.0.0-next.7
- refs/tags/14.0.0-next.8
- refs/tags/14.0.0-next.9
- refs/tags/14.0.0-rc.0
- refs/tags/14.0.0-rc.1
- refs/tags/14.0.0-rc.2
- refs/tags/14.0.0-rc.3
- refs/tags/14.0.1
- refs/tags/14.0.2
- refs/tags/14.0.3
- refs/tags/14.0.4
- refs/tags/14.0.5
- refs/tags/14.0.6
- refs/tags/14.0.7
- refs/tags/14.1.0
- refs/tags/14.1.0-next.0
- refs/tags/14.1.0-next.1
- refs/tags/14.1.0-next.2
- refs/tags/14.1.0-next.3
- refs/tags/14.1.0-next.4
- refs/tags/14.1.0-rc.0
- refs/tags/14.1.1
- refs/tags/14.1.2
- refs/tags/14.1.3
- refs/tags/14.2.0
- refs/tags/14.2.0-next.0
- refs/tags/14.2.0-next.1
- refs/tags/14.2.0-rc.0
- refs/tags/14.2.1
- refs/tags/14.2.10
- refs/tags/14.2.11
- refs/tags/14.2.12
- refs/tags/14.2.2
- refs/tags/14.2.3
- refs/tags/14.2.4
- refs/tags/14.2.5
- refs/tags/14.2.6
- refs/tags/14.2.7
- refs/tags/14.2.8
- refs/tags/14.2.9
- refs/tags/14.3.0
- refs/tags/15.0.0
- refs/tags/15.0.0-next.0
- refs/tags/15.0.0-next.1
- refs/tags/15.0.0-next.2
- refs/tags/15.0.0-next.3
- refs/tags/15.0.0-next.4
- refs/tags/15.0.0-next.5
- refs/tags/15.0.0-next.6
- refs/tags/15.0.0-rc.0
- refs/tags/15.0.0-rc.1
- refs/tags/15.0.0-rc.2
- refs/tags/15.0.0-rc.3
- refs/tags/15.0.0-rc.4
- refs/tags/15.0.1
- refs/tags/15.0.2
- refs/tags/15.0.3
- refs/tags/15.0.4
- refs/tags/15.1.0
- refs/tags/15.1.0-next.0
- refs/tags/15.1.0-next.1
- refs/tags/15.1.0-next.2
- refs/tags/15.1.0-next.3
- refs/tags/15.1.0-rc.0
- refs/tags/15.1.1
- refs/tags/15.1.2
- refs/tags/15.1.3
- refs/tags/15.1.4
- refs/tags/15.1.5
- refs/tags/15.2.0
- refs/tags/15.2.0-next.0
- refs/tags/15.2.0-next.1
- refs/tags/15.2.0-next.2
- refs/tags/15.2.0-next.3
- refs/tags/15.2.0-next.4
- refs/tags/15.2.0-rc.0
- refs/tags/15.2.1
- refs/tags/15.2.10
- refs/tags/15.2.2
- refs/tags/15.2.3
- refs/tags/15.2.4
- refs/tags/15.2.5
- refs/tags/15.2.6
- refs/tags/15.2.7
- refs/tags/15.2.8
- refs/tags/15.2.9
- refs/tags/16.0.0
- refs/tags/16.0.0-next.0
- refs/tags/16.0.0-next.1
- refs/tags/16.0.0-next.2
- refs/tags/16.0.0-next.3
- refs/tags/16.0.0-next.4
- refs/tags/16.0.0-next.5
- refs/tags/16.0.0-next.6
- refs/tags/16.0.0-next.7
- refs/tags/16.0.0-rc.0
- refs/tags/16.0.0-rc.1
- refs/tags/16.0.0-rc.2
- refs/tags/16.0.0-rc.3
- refs/tags/16.0.0-rc.4
- refs/tags/16.0.1
- refs/tags/16.0.2
- refs/tags/16.0.3
- refs/tags/16.0.4
- refs/tags/16.0.5
- refs/tags/16.0.6
- refs/tags/16.1.0
- refs/tags/16.1.0-next.0
- refs/tags/16.1.0-next.1
- refs/tags/16.1.0-next.2
- refs/tags/16.1.0-next.3
- refs/tags/16.1.0-rc.0
- refs/tags/16.1.1
- refs/tags/16.1.2
- refs/tags/16.1.3
- refs/tags/16.1.4
- refs/tags/16.1.5
- refs/tags/16.1.6
- refs/tags/16.1.7
- refs/tags/16.1.8
- refs/tags/16.1.9
- refs/tags/16.2.0
- refs/tags/16.2.0-next.0
- refs/tags/16.2.0-next.1
- refs/tags/16.2.0-next.2
- refs/tags/16.2.0-next.3
- refs/tags/16.2.0-next.4
- refs/tags/16.2.0-rc.0
- refs/tags/16.2.1
- refs/tags/16.2.10
- refs/tags/16.2.11
- refs/tags/16.2.12
- refs/tags/16.2.2
- refs/tags/16.2.3
- refs/tags/16.2.4
- refs/tags/16.2.5
- refs/tags/16.2.6
- refs/tags/16.2.7
- refs/tags/16.2.8
- refs/tags/16.2.9
- refs/tags/17.0.0
- refs/tags/17.0.0-next.0
- refs/tags/17.0.0-next.1
- refs/tags/17.0.0-next.2
- refs/tags/17.0.0-next.3
- refs/tags/17.0.0-next.4
- refs/tags/17.0.0-next.5
- refs/tags/17.0.0-next.6
- refs/tags/17.0.0-next.7
- refs/tags/17.0.0-next.8
- refs/tags/17.0.0-rc.0
- refs/tags/17.0.0-rc.1
- refs/tags/17.0.0-rc.2
- refs/tags/17.0.0-rc.3
- refs/tags/17.0.1
- refs/tags/17.0.2
- refs/tags/17.0.3
- refs/tags/17.0.4
- refs/tags/17.0.5
- refs/tags/17.0.6
- refs/tags/17.0.7
- refs/tags/17.0.8
- refs/tags/17.0.9
- refs/tags/17.1.0
- refs/tags/17.1.0-next.0
- refs/tags/17.1.0-next.1
- refs/tags/17.1.0-next.2
- refs/tags/17.1.0-next.3
- refs/tags/17.1.0-next.4
- refs/tags/17.1.0-next.5
- refs/tags/17.1.0-rc.0
- refs/tags/17.1.1
- refs/tags/17.1.2
- refs/tags/17.1.3
- refs/tags/17.2.0
- refs/tags/17.2.0-next.0
- refs/tags/17.2.0-next.1
- refs/tags/17.2.0-rc.0
- refs/tags/17.2.0-rc.1
- refs/tags/17.2.1
- refs/tags/17.2.2
- refs/tags/17.2.3
- refs/tags/17.2.4
- refs/tags/17.3.0
- refs/tags/17.3.0-next.0
- refs/tags/17.3.0-next.1
- refs/tags/17.3.0-rc.0
- refs/tags/17.3.1
- refs/tags/17.3.10
- refs/tags/17.3.11
- refs/tags/17.3.12
- refs/tags/17.3.2
- refs/tags/17.3.3
- refs/tags/17.3.4
- refs/tags/17.3.5
- refs/tags/17.3.6
- refs/tags/17.3.7
- refs/tags/17.3.8
- refs/tags/17.3.9
- refs/tags/18.0.0
- refs/tags/18.0.0-next.0
- refs/tags/18.0.0-next.1
- refs/tags/18.0.0-next.2
- refs/tags/18.0.0-next.3
- refs/tags/18.0.0-next.4
- refs/tags/18.0.0-next.5
- refs/tags/18.0.0-next.6
- refs/tags/18.0.0-rc.0
- refs/tags/18.0.0-rc.1
- refs/tags/18.0.0-rc.2
- refs/tags/18.0.0-rc.3
- refs/tags/18.0.1
- refs/tags/18.0.2
- refs/tags/18.0.3
- refs/tags/18.0.4
- refs/tags/18.0.5
- refs/tags/18.0.6
- refs/tags/18.0.7
- refs/tags/18.1.0
- refs/tags/18.1.0-next.0
- refs/tags/18.1.0-next.1
- refs/tags/18.1.0-next.2
- refs/tags/18.1.0-next.3
- refs/tags/18.1.0-next.4
- refs/tags/18.1.0-rc.0
- refs/tags/18.1.1
- refs/tags/18.1.2
- refs/tags/18.1.3
- refs/tags/18.1.4
- refs/tags/18.1.5
- refs/tags/18.2.0
- refs/tags/18.2.0-next.0
- refs/tags/18.2.0-next.1
- refs/tags/18.2.0-next.2
- refs/tags/18.2.0-next.3
- refs/tags/18.2.0-next.4
- refs/tags/18.2.0-rc.0
- refs/tags/18.2.1
- refs/tags/18.2.2
- refs/tags/19.0.0-next.0
- refs/tags/19.0.0-next.1
- refs/tags/19.0.0-next.2
- refs/tags/2.0.0
- refs/tags/2.0.0-alpha.13
- refs/tags/2.0.0-alpha.14
- refs/tags/2.0.0-alpha.15
- refs/tags/2.0.0-alpha.16
- refs/tags/2.0.0-alpha.17
- refs/tags/2.0.0-alpha.18
- refs/tags/2.0.0-alpha.19
- refs/tags/2.0.0-alpha.20
- refs/tags/2.0.0-alpha.21
- refs/tags/2.0.0-alpha.22
- refs/tags/2.0.0-alpha.23
- refs/tags/2.0.0-alpha.24
- refs/tags/2.0.0-alpha.25
- refs/tags/2.0.0-alpha.26
- refs/tags/2.0.0-alpha.27
- refs/tags/2.0.0-alpha.28
- refs/tags/2.0.0-alpha.29
- refs/tags/2.0.0-alpha.30
- refs/tags/2.0.0-alpha.31
- refs/tags/2.0.0-alpha.32
- refs/tags/2.0.0-alpha.33
- refs/tags/2.0.0-alpha.34
- refs/tags/2.0.0-alpha.35
- refs/tags/2.0.0-alpha.36
- refs/tags/2.0.0-alpha.37
- refs/tags/2.0.0-alpha.38
- refs/tags/2.0.0-alpha.39
- refs/tags/2.0.0-alpha.40
- refs/tags/2.0.0-alpha.41
- refs/tags/2.0.0-alpha.42
- refs/tags/2.0.0-alpha.44
- refs/tags/2.0.0-alpha.45
- refs/tags/2.0.0-alpha.46
- refs/tags/2.0.0-alpha.47
- refs/tags/2.0.0-alpha.48
- refs/tags/2.0.0-alpha.49
- refs/tags/2.0.0-alpha.50
- refs/tags/2.0.0-alpha.51
- refs/tags/2.0.0-alpha.52
- refs/tags/2.0.0-alpha.53
- refs/tags/2.0.0-alpha.54
- refs/tags/2.0.0-alpha.55
- refs/tags/2.0.0-beta.0
- refs/tags/2.0.0-beta.1
- refs/tags/2.0.0-beta.10
- refs/tags/2.0.0-beta.11
- refs/tags/2.0.0-beta.12
- refs/tags/2.0.0-beta.13
- refs/tags/2.0.0-beta.14
- refs/tags/2.0.0-beta.15
- refs/tags/2.0.0-beta.16
- refs/tags/2.0.0-beta.17
- refs/tags/2.0.0-beta.2
- refs/tags/2.0.0-beta.3
- refs/tags/2.0.0-beta.4
- refs/tags/2.0.0-beta.5
- refs/tags/2.0.0-beta.6
- refs/tags/2.0.0-beta.7
- refs/tags/2.0.0-beta.8
- refs/tags/2.0.0-beta.9
- refs/tags/2.0.0-build.006a96d.js
- refs/tags/2.0.0-build.00822c3.dart
- refs/tags/2.0.0-build.00822c3.js
- refs/tags/2.0.0-build.015faee.dart
- refs/tags/2.0.0-build.015faee.js
- refs/tags/2.0.0-build.016ab31.dart
- refs/tags/2.0.0-build.016ab31.js
- refs/tags/2.0.0-build.019cb41.dart
- refs/tags/2.0.0-build.019cb41.js
- refs/tags/2.0.0-build.01ba94b.dart
- refs/tags/2.0.0-build.01ba94b.js
- refs/tags/2.0.0-build.0206d72.dart
- refs/tags/2.0.0-build.0206d72.js
- refs/tags/2.0.0-build.020ce32.dart
- refs/tags/2.0.0-build.020ce32.js
- refs/tags/2.0.0-build.0290362.dart
- refs/tags/2.0.0-build.0290362.js
- refs/tags/2.0.0-build.03823d4.dart
- refs/tags/2.0.0-build.03823d4.js
- refs/tags/2.0.0-build.039ed3b.dart
- refs/tags/2.0.0-build.039ed3b.js
- refs/tags/2.0.0-build.03e3035.dart
- refs/tags/2.0.0-build.03e3035.js
- refs/tags/2.0.0-build.041c599.dart
- refs/tags/2.0.0-build.041c599.js
- refs/tags/2.0.0-build.046758c.dart
- refs/tags/2.0.0-build.046758c.js
- refs/tags/2.0.0-build.0544e07.dart
- refs/tags/2.0.0-build.0544e07.js
- refs/tags/2.0.0-build.059e09c.dart
- refs/tags/2.0.0-build.059e09c.js
- refs/tags/2.0.0-build.05fa1fd.dart
- refs/tags/2.0.0-build.05fa1fd.js
- refs/tags/2.0.0-build.05fb269.dart
- refs/tags/2.0.0-build.05fb269.js
- refs/tags/2.0.0-build.0614797.dart
- refs/tags/2.0.0-build.0614797.js
- refs/tags/2.0.0-build.065ac93.dart
- refs/tags/2.0.0-build.065ac93.js
- refs/tags/2.0.0-build.06b2aa1.dart
- refs/tags/2.0.0-build.06b2aa1.js
- refs/tags/2.0.0-build.06d076a.dart
- refs/tags/2.0.0-build.06d076a.js
- refs/tags/2.0.0-build.06e32eb.dart
- refs/tags/2.0.0-build.06e32eb.js
- refs/tags/2.0.0-build.070d818.dart
- refs/tags/2.0.0-build.070d818.js
- refs/tags/2.0.0-build.071165f.dart
- refs/tags/2.0.0-build.071165f.js
- refs/tags/2.0.0-build.074075d.dart
- refs/tags/2.0.0-build.074075d.js
- refs/tags/2.0.0-build.080469f.dart
- refs/tags/2.0.0-build.080469f.js
- refs/tags/2.0.0-build.0815a77.dart
- refs/tags/2.0.0-build.0815a77.js
- refs/tags/2.0.0-build.093b794.dart
- refs/tags/2.0.0-build.093b794.js
- refs/tags/2.0.0-build.0a3a17f.dart
- refs/tags/2.0.0-build.0a3a17f.js
- refs/tags/2.0.0-build.0a44fc6.dart
- refs/tags/2.0.0-build.0a44fc6.js
- refs/tags/2.0.0-build.0ae7775.dart
- refs/tags/2.0.0-build.0ae7775.js
- refs/tags/2.0.0-build.0b6e75a.dart
- refs/tags/2.0.0-build.0b6e75a.js
- refs/tags/2.0.0-build.0c9596a.dart
- refs/tags/2.0.0-build.0c9596a.js
- refs/tags/2.0.0-build.0cdf280.dart
- refs/tags/2.0.0-build.0cdf280.js
- refs/tags/2.0.0-build.0db0252.dart
- refs/tags/2.0.0-build.0db0252.js
- refs/tags/2.0.0-build.0df8bc4.dart
- refs/tags/2.0.0-build.0df8bc4.js
- refs/tags/2.0.0-build.0ec9ccf.dart
- refs/tags/2.0.0-build.0ec9ccf.js
- refs/tags/2.0.0-build.0ef6809.dart
- refs/tags/2.0.0-build.0ef6809.js
- refs/tags/2.0.0-build.0f85b36.dart
- refs/tags/2.0.0-build.0f85b36.js
- refs/tags/2.0.0-build.0f8e40b.dart
- refs/tags/2.0.0-build.0f8e40b.js
- refs/tags/2.0.0-build.116015b.dart
- refs/tags/2.0.0-build.116015b.js
- refs/tags/2.0.0-build.125fa38.dart
- refs/tags/2.0.0-build.125fa38.js
- refs/tags/2.0.0-build.132829e.dart
- refs/tags/2.0.0-build.132829e.js
- refs/tags/2.0.0-build.13e6354.dart
- refs/tags/2.0.0-build.13e6354.js
- refs/tags/2.0.0-build.140ce9f.dart
- refs/tags/2.0.0-build.140ce9f.js
- refs/tags/2.0.0-build.1417e12.dart
- refs/tags/2.0.0-build.1417e12.js
- refs/tags/2.0.0-build.15f5f27.dart
- refs/tags/2.0.0-build.15f5f27.js
- refs/tags/2.0.0-build.1607ef8.dart
- refs/tags/2.0.0-build.1607ef8.js
- refs/tags/2.0.0-build.16d9c60.dart
- refs/tags/2.0.0-build.16d9c60.js
- refs/tags/2.0.0-build.16e74cf.dart
- refs/tags/2.0.0-build.16e74cf.js
- refs/tags/2.0.0-rc.0
- refs/tags/2.0.0-rc.1
- refs/tags/2.0.0-rc.2
- refs/tags/2.0.0-rc.3
- refs/tags/2.0.0-rc.4
- refs/tags/2.0.0-rc.5
- refs/tags/2.0.0-rc.6
- refs/tags/2.0.0-rc.7
- refs/tags/2.0.1
- refs/tags/2.0.2
- refs/tags/2.1.0
- refs/tags/2.1.0-beta.0
- refs/tags/2.1.0-rc.0
- refs/tags/2.1.1
- refs/tags/2.1.2
- refs/tags/2.2.0
- refs/tags/2.2.0-beta.0
- refs/tags/2.2.0-beta.1
- refs/tags/2.2.0-rc.0
- refs/tags/2.2.1
- refs/tags/2.2.2
- refs/tags/2.2.3
- refs/tags/2.2.4
- refs/tags/2.3.0
- refs/tags/2.3.0-beta.0
- refs/tags/2.3.0-beta.1
- refs/tags/2.3.0-rc.0
- refs/tags/2.3.1
- refs/tags/2.4.0
- refs/tags/2.4.0-marker
- refs/tags/2.4.1
- refs/tags/2.4.10
- refs/tags/2.4.2
- refs/tags/2.4.3
- refs/tags/2.4.4
- refs/tags/2.4.5
- refs/tags/2.4.6
- refs/tags/2.4.7
- refs/tags/2.4.8
- refs/tags/2.4.9
- refs/tags/4.0.0
- refs/tags/4.0.0-beta.0
- refs/tags/4.0.0-beta.1
- refs/tags/4.0.0-beta.2
- refs/tags/4.0.0-beta.3
- refs/tags/4.0.0-beta.4
- refs/tags/4.0.0-beta.5
- refs/tags/4.0.0-beta.6
- refs/tags/4.0.0-beta.7
- refs/tags/4.0.0-beta.8
- refs/tags/4.0.0-rc.1
- refs/tags/4.0.0-rc.2
- refs/tags/4.0.0-rc.3
- refs/tags/4.0.0-rc.4
- refs/tags/4.0.0-rc.5
- refs/tags/4.0.0-rc.6
- refs/tags/4.0.1
- refs/tags/4.0.2
- refs/tags/4.0.3
- refs/tags/4.1.0
- refs/tags/4.1.0-beta.0
- refs/tags/4.1.0-beta.1
- refs/tags/4.1.0-rc.0
- refs/tags/4.1.1
- refs/tags/4.1.2
- refs/tags/4.1.3
- refs/tags/4.2.0
- refs/tags/4.2.0-beta.0
- refs/tags/4.2.0-beta.1
- refs/tags/4.2.0-rc.0
- refs/tags/4.2.0-rc.1
- refs/tags/4.2.0-rc.2
- refs/tags/4.2.1
- refs/tags/4.2.2
- refs/tags/4.2.3
- refs/tags/4.2.4
- refs/tags/4.2.5
- refs/tags/4.2.6
- refs/tags/4.3.0
- refs/tags/4.3.0-beta.0
- refs/tags/4.3.0-beta.1
- refs/tags/4.3.0-rc.0
- refs/tags/4.3.1
- refs/tags/4.3.2
- refs/tags/4.3.3
- refs/tags/4.3.4
- refs/tags/4.3.5
- refs/tags/4.3.6
- refs/tags/4.4.0
- refs/tags/4.4.0-RC.0
- refs/tags/4.4.1
- refs/tags/4.4.2
- refs/tags/4.4.3
- refs/tags/4.4.4
- refs/tags/4.4.5
- refs/tags/4.4.6
- refs/tags/4.4.7
- refs/tags/5.0.0
- refs/tags/5.0.0-beta.0
- refs/tags/5.0.0-beta.1
- refs/tags/5.0.0-beta.2
- refs/tags/5.0.0-beta.3
- refs/tags/5.0.0-beta.4
- refs/tags/5.0.0-beta.5
- refs/tags/5.0.0-beta.6
- refs/tags/5.0.0-beta.7
- refs/tags/5.0.0-rc.0
- refs/tags/5.0.0-rc.1
- refs/tags/5.0.0-rc.2
- refs/tags/5.0.0-rc.3
- refs/tags/5.0.0-rc.4
- refs/tags/5.0.0-rc.5
- refs/tags/5.0.0-rc.6
- refs/tags/5.0.0-rc.7
- refs/tags/5.0.0-rc.8
- refs/tags/5.0.0-rc.9
- refs/tags/5.0.1
- refs/tags/5.0.2
- refs/tags/5.0.3
- refs/tags/5.0.4
- refs/tags/5.0.5
- refs/tags/5.1.0
- refs/tags/5.1.0-beta.0
- refs/tags/5.1.0-beta.1
- refs/tags/5.1.0-beta.2
- refs/tags/5.1.0-rc.0
- refs/tags/5.1.0-rc.1
- refs/tags/5.1.1
- refs/tags/5.1.2
- refs/tags/5.1.3
- refs/tags/5.2.0
- refs/tags/5.2.0-beta.0
- refs/tags/5.2.0-beta.1
- refs/tags/5.2.0-rc.0
- refs/tags/5.2.1
- fa7c7afbe916e5c3011f4688da6d0295e82f43ec
- Branches list truncated to 1000 entries, 242 were omitted.
- 12.0.0
- Releases list truncated to 1 entries, 8 were omitted.
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
fa7c7af | iRealNirmal | 13 November 2021, 06:10:49 UTC | refactor(forms): update required validator and checkbox validator to inherit abstractValidator (#44162) Modified required validator and checkbox validator to inherit abstractValidator. For every validato type different PR will be raised as discussed in #42378. Closes #42267 PR Close #44162 | 24 January 2022, 22:50:58 UTC |
a4aa9b3 | Kristiyan Kostadinov | 24 January 2022, 18:42:17 UTC | Revert "feat(core): allow for injector to be specified when creating an embedded view (#44666)" (#44807) This reverts commit b49ffcd50e46ca7907ee2049f6cade8e080f5980. PR Close #44807 | 24 January 2022, 20:22:22 UTC |
40f27a3 | Kristiyan Kostadinov | 24 January 2022, 18:32:55 UTC | Revert "feat(common): add injector input to ngTemplateOutlet (#44761)" (#44807) This reverts commit ed21f5c75378e1ce717ee3d76d28c8c994209de1. PR Close #44807 | 24 January 2022, 20:22:22 UTC |
94bfcdd | Kristiyan Kostadinov | 24 January 2022, 09:25:12 UTC | fix(core): error if NgZone.isInAngularZone is called with a noop zone (#44800) When the user opts into the noop `NgZone`, they usually still interact with the static methods on the non-noop class. This change adds a check to handle the case where zone.js hasn't been loaded. Fixes #44784. PR Close #44800 | 24 January 2022, 18:44:44 UTC |
f0a8303 | Wiley Marques | 23 January 2022, 17:27:25 UTC | docs(router): fixing `pathMatch` doc to style code correctly (#44796) PR Close #44796 | 24 January 2022, 18:42:52 UTC |
abd1bc8 | Andrew Scott | 21 January 2022, 21:08:48 UTC | fix(compiler): correct spans when parsing bindings with comments (#44785) The previous fix for correcting spans with comments in https://github.com/angular/angular/commit/59eef29a6c5d568ca80595cd7018e21ad406c85d had the unfortunate side effect of _breaking_ the spans with comments when there was leading whitespace. This happened because the previous fix was testing one without a comment, identifying that the offset shouldn't have anything added to it, and then removing that offset adjustment (`offsets[i] + (expressionText.length - sourceToLex.length)`). Upon further investigation, this offset adjustment _was actually necessary_ for when the input had comments, but this was only because the `stripComments` function used `trim` to remove whitespace for these cases. This is the real problem -- not only does it create a ton of confusion but also it means that the behavior of the lexer and resulting spans is different between inputs with comments and inputs without comments. After reviewing how the `inputLength` of `_ParseAST` was used, it appears that the correct behavior would be to _not_ trim the input. The `inputLength` is used to advance the current index beyond points which have been processed. This _should_ include any whitespace. Additionally, `inputLength` doesn't appear to be needed at all. When there was no comment in the input, it was always equal to the `input.length` anyways. When there _is_ a comment, it should include that comment anyways to advance the index beyond the comment. PR Close #44785 | 24 January 2022, 18:41:54 UTC |
7316e72 | Andrew Scott | 21 January 2022, 19:02:04 UTC | fix(compiler-cli): properly index <svg> elements when on a template (#44785) The original fix for svg elements in https://github.com/angular/angular/commit/92b23f48519a1adb460a431c356bcd9917fb059d did not account for svg elements when they also had a structural directive on them, making the node a template. This resulted in the logic added in fix above not being applied. PR Close #44785 | 24 January 2022, 18:41:54 UTC |
ac2f262 | Doug Parker | 20 January 2022, 21:39:25 UTC | docs: add extended diagnostics documentation (#44704) This includes the initial documentation for extended diagnostics with a page for each of the two initial checks. They follow the same general formula, and hopefully in the future they can be properly generated from metadata rather than copy-pasted as they are currently. PR Close #44704 | 24 January 2022, 18:41:13 UTC |
f2fa67e | George Kalpakas | 11 January 2022, 20:49:04 UTC | fix(docs-infra): track error docs during `serve-and-sync` (#44704) Refs #42966. Look for changes in error docs (i.e. docs under `aio/content/error/`) in `authors-package`, so that such docs are tracked when running the `serve-and-sync` script. PR Close #44704 | 24 January 2022, 18:41:13 UTC |
9bee561 | George Kalpakas | 11 January 2022, 20:49:04 UTC | fix(docs-infra): track error docs during `serve-and-sync` (#44704) Refs #42966. Look for changes in error docs (i.e. docs under `aio/content/error/`) in `authors-package`, so that such docs are tracked when running the `serve-and-sync` script. PR Close #44704 | 24 January 2022, 18:41:13 UTC |
fce521e | Andrew Kushnir | 24 January 2022, 17:41:52 UTC | release: cut the v13.2.0-rc.1 release (#44804) | 24 January 2022, 17:41:52 UTC |
ade3057 | Oleg Postoev | 12 December 2021, 18:19:11 UTC | refactor(common): unused return value from attemptFocus (#44457) The function attemptFocus had a return value that nowhere is used. But it still saves in the bundle. PR Close #44457 | 21 January 2022, 21:11:32 UTC |
ed67a07 | JoostK | 16 January 2022, 20:16:53 UTC | fix(compiler): properly compile DI factories when coverage reporting is enabled (#44732) When running tests with code coverage using Istanbul, the code is instrumented with coverage reporting statements. These statements are also inserted into synthesized constructors, preventing Angular from properly recognizing them as synthesized constructor. This commit changes the regex to detect synthesized constructors to allow for statements within the constructor before the `super(...arguments);` call. This is limited to code that does not contain a `}`, but this is sufficient to support Istanbul's coverage instrumentation statements. The tests have been extended with an input file that is being instrumented using `babel-plugin-istanbul` for both ES2015 and ES5 targets, in order to verify that the approach works for real-world usages. Fixes #31337 PR Close #44732 | 21 January 2022, 21:10:43 UTC |
43eb934 | Renovate Bot | 21 January 2022, 09:31:59 UTC | build: update all non-major dependencies (#44713) PR Close #44713 | 21 January 2022, 19:21:52 UTC |
d2ae96f | Douglas Parker | 19 January 2022, 18:37:54 UTC | fix(compiler-cli): skip `ExtendedTemplateCheckerImpl` construction if there were configuration errors (#44778) Previously, if a bad extended diagnostic category was given, it would fail with the expected error as well as an unexpected assertion error: ``` $ ng build -c development ✔ Browser application bundle generation complete. ./src/main.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js): Error: Unexpected call to 'assertNever()' with value: test at /home/douglasparker/Source/ng-new/node_modules/@ngtools/webpack/src/ivy/loader.js:77:18 at processTicksAndRejections (internal/process/task_queues.js:95:5) ./src/polyfills.ts - Error: Module build failed (from ./node_modules/@ngtools/webpack/src/ivy/index.js): Error: Unexpected call to 'assertNever()' with value: test at /home/douglasparker/Source/ng-new/node_modules/@ngtools/webpack/src/ivy/loader.js:77:18 at processTicksAndRejections (internal/process/task_queues.js:95:5) Error: error NG4004: Angular compiler option "extendedDiagnostics.checks['invalidBananaInBox']" has an unknown diagnostic category: "test". Allowed diagnostic categories are: warning error suppress ``` The assertion comes from `ExtendedTemplateCheckerImpl`, which expects a well-formed configuration, yet the compiler would construct it even when errors were found. This commit skips constructing and running extended diagnostics if the configuration had errors, which should avoid triggering these assertion errors. I'm unfortunately not able to actually test this change. The test passes even before the fix because the `ngc` binary and end-to-end tests [don't request diagnostics unless the configuration is considered valid](https://github.com/angular/angular/blob/ed21f5c75378e1ce717ee3d76d28c8c994209de1/packages/compiler-cli/src/perform_compile.ts#L292-L293). See [Slack](https://angular-team.slack.com/archives/C4WHZQMRA/p1642641305003800) for more details. PR Close #44778 | 21 January 2022, 19:20:48 UTC |
5626b34 | Andrew Scott | 20 January 2022, 20:57:18 UTC | fix(core): consistently use namespace short name rather than URI (#44766) `Renderer2` APIs expect to be called with the namespace name rather than the namespace URI. Rather than passing around the URI and having to account for different calling contexts, this change consistently uses the namespace short names. Importantly, the URI was only used in `component_ref.ts` `create` (because `getNamespace returned the URIs`) and `createElementNode` in `node_manipulation.ts` (because `getNamespaceUri` also used the URIs). In contrast, attributes would use the _short names instead of URIs_ (see `setUpAttributes` in `attrs_utils.ts`). These names are pulled directly from the attribute, i.e. `xhtml:href` and not converted to URI. This dichotomy is confusing and unnecessary. The change here aligns the two approaches in order to provide consistently throughout the system. This relates to #44766 because the `createElementNode` was calling the `AnimationRenderer.createElement` which delegates to the `ServerRenderer`, which in turn was only set up to expect short names. As a result, the `NAMESPACE_URIS` lookup failed and `Domino` created the `svg` as a regular `Element` which does not have a `styles` property. resolves #44766 PR Close #44766 | 21 January 2022, 19:19:31 UTC |
1671212 | Andrew Scott | 20 January 2022, 20:51:43 UTC | test: Update test to not declare component in multiple modules (#44766) When running locally, these integration tests appear to fail because the component is declared in many test modules. PR Close #44766 | 21 January 2022, 19:19:31 UTC |
100091e | Doug Parker | 20 January 2022, 18:32:24 UTC | fix(compiler-cli): remove leftover `_extendedTemplateDiagnostics` requirements (#44777) Refs #42966. There were two remaining places where `_extendedTemplateDiagnostics` needed to be set which should have been removed in #44712 but got missed. This updates them to only require `strictTemplates` and not `_extendedTemplateDiagnostics` so the feature is properly enabled in production. PR Close #44777 | 20 January 2022, 22:03:46 UTC |
b7ff6f0 | Martin Probst | 20 January 2022, 08:39:28 UTC | refactor(compiler): pass rootDir to tsickle (#44768) tsickle's underlying API has changed to require passing a rootDir to getGeneratedExterns. PR Close #44768 | 20 January 2022, 19:16:36 UTC |
6b75263 | Stephanie Tuerk | 19 January 2022, 18:37:54 UTC | docs: correct (possible) typo (#44759) change 'reference' to 'referencing' -- I believe this is is a typo and that this is the proper correction. PR Close #44759 | 20 January 2022, 17:22:37 UTC |
caeb162 | Dylan Hunn | 20 January 2022, 01:36:11 UTC | release: cut the v13.2.0-rc.0 release (#44765) | 20 January 2022, 01:36:11 UTC |
ed21f5c | Kristiyan Kostadinov | 19 January 2022, 20:30:07 UTC | feat(common): add injector input to ngTemplateOutlet (#44761) Implements the new `injector` option from #44666 into `ngTemplateOutlet`. PR Close #44761 | 20 January 2022, 00:47:40 UTC |
ec10570 | Derek Cormier | 19 January 2022, 21:10:59 UTC | fix(docs-infra): fix date parsing in a flaky test (#44763) Mock dates in EventsComponent tests are parsed in inconsistent ways across platforms/browsers, which makes the comparison to the mocked UTC "now" date behave differently causing the test to fail. This fix ensures that the mocked "now" date is parsed in the same way as the test dates to avoid inconsistencies. PR Close #44763 | 20 January 2022, 00:47:16 UTC |
fa835b5 | Doug Parker | 07 December 2021, 02:24:56 UTC | feat(compiler-cli): enable extended diagnostics by default (#44712) Refs #42966. Extended diagnostics provide additional analysis about Angular templates by emitting warnings for specific patterns known to be error prone or cause developer confusion. Currently, there are two such diagnostics which are enabled by default: * `invalidBananaInBox` emits a warning if a user writes a two-way binding backwards like `([foo])="bar"`, when they actually wanted `[(foo)]="bar"`. * `nullishCoalescingNotNullable` emits a warning if a binding attempts to perform nullish coalescing (`??`) on a type which does not include `null` or `undefined`, such as `{{ foo ?? 'bar' }}` where `foo` is defined as `string` instead of `string | null`. These diagnostics are enabled as warnings by default, but this can be configured in the `tsconfig.json` like so: ```jsonc { "angularCompilerOptions": { "extendedDiagnostics": { // The categories to use for specific diagnostics. "checks": { // Maps check name to its category. "invalidBananaInBox": "suppress" }, // The category to use for any diagnostics not listed in `checks` above. "defaultCategory": "error" } } } ``` Allowed categories for a diagnostic are `warning` (default), `error`, or `suppress`. `warning` emits the diagnostic but allows the compilation to succeed, `error` *will* fail the compilation, while `suppress` will ignore the diagnostic altogether. The initial release has two diagnostics, and we are hoping to expand this longer term to add more diagnostics and provide additional insight into Angular templates to detect and surface developer mistakes *before* hours of debugging are wasted. PR Close #44712 | 19 January 2022, 17:58:37 UTC |
4e95a31 | Andrew Kushnir | 19 January 2022, 01:05:50 UTC | docs: deprecate unused config options from the `CompilerOptions` interface (#44749) DEPRECATED: Since Ivy, the CompilerOptions.useJit and CompilerOptions.missingTranslation config options are unused, passing them has no effect. PR Close #44749 | 19 January 2022, 17:42:40 UTC |
9c11183 | Andrew Kushnir | 19 January 2022, 00:54:46 UTC | docs: deprecate `CachedResourceLoader` and `RESOURCE_CACHE_PROVIDER` symbols (#44749) DEPRECATED: The `CachedResourceLoader` and `RESOURCE_CACHE_PROVIDER` symbols were previously necessary in some cases to test AOT-compiled components with View Engine, but they are no longer needed since Ivy. PR Close #44749 | 19 January 2022, 17:42:40 UTC |
9f12e7f | Andrew Kushnir | 19 January 2022, 00:39:43 UTC | docs: deprecate `ComponentFactory` and `ComponentFactoryResolver` symbols (#44749) DEPRECATED: The `ComponentFactory` and `ComponentFactoryResolver` classes are deprecated. Since Ivy, there is no need to resolve Component factories. Please use other APIs where you Component classes can be used directly (without resolving their factories). PR Close #44749 | 19 January 2022, 17:42:40 UTC |
2b01e17 | Dylan Hunn | 19 January 2022, 17:38:52 UTC | docs: release notes for the v13.1.3 release (#44758) PR Close #44758 | 19 January 2022, 17:40:37 UTC |
34d2292 | Yousaf Nawaz | 19 January 2022, 08:39:02 UTC | docs: update deprecated form of the tap operator in http example (#44738) update deprecated form of the tap operator. Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments DEPRECATED: tap operator subscribe signature is deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments Closes #44708 PR Close #44738 | 19 January 2022, 17:22:02 UTC |
b49ffcd | Kristiyan Kostadinov | 19 January 2022, 08:28:18 UTC | feat(core): allow for injector to be specified when creating an embedded view (#44666) Adds support for passing in an optional injector when creating an embedded view through `ViewContainerRef.createEmbeddedView` and `TemplateRef.createEmbeddedView`. The injector allows for the DI behavior to be customized within the specific template. Fixes #14935. PR Close #44666 | 19 January 2022, 17:09:38 UTC |
fb27867 | Dylan Hunn | 19 January 2022, 03:51:56 UTC | Revert "refactor(forms): Move FormControl to an overridden exported constructor. (#44316)" (#44750) This reverts commit cd5200ea6863445adce24c62f30e49940a926522. PR Close #44750 | 19 January 2022, 03:54:51 UTC |
bc03a2e | Ramesh Thiruchelvam | 02 December 2021, 00:15:32 UTC | refactor(core): make the error messages tree shakable (#44359) Long error messages can be tree-shaken in the production build and replaced with error codes. See: https://github.com/angular/angular/pull/44219#issuecomment-983216374 PR Close #44359 | 19 January 2022, 01:38:10 UTC |
41b8ecc | Dylan Hunn | 18 January 2022, 23:28:31 UTC | refactor(forms): Make a couple small cleanups encountered while rebasing typed forms. (#44748) These should all be no-ops publicly; they are just small issues encountered during a large rebase to bring typed-forms current. PR Close #44748 | 19 January 2022, 00:20:21 UTC |
ece530f | dario-piotrowicz | 15 January 2022, 21:07:44 UTC | refactor(animations): change errors type from any to string (#44726) errors in the animations code are of type `any` but are consistently used as if there were `string`s, change `any` to `string` to make typing more accurate PR Close #44726 | 18 January 2022, 23:52:05 UTC |
cd5200e | Dylan Hunn | 30 November 2021, 19:46:46 UTC | refactor(forms): Move FormControl to an overridden exported constructor. (#44316) This implementation change was originally proposed as part of Typed Forms, and will have major consequences for that project as described in the design doc. Submitting it separately will greatly simplify the risk of landing Typed Forms. This change should have no visible impact on normal users of FormControl. See the Typed Forms design doc here: https://docs.google.com/document/d/1cWuBE-oo5WLtwkLFxbNTiaVQGNk8ipgbekZcKBeyxxo. PR Close #44316 | 18 January 2022, 22:51:53 UTC |
1f6249d | JoostK | 16 January 2022, 17:20:01 UTC | refactor(compiler): remove directive matching from template compiler (#44731) The directive matching pass that happens during template compilation is redundant, since directive matching has already happened during the resolution phase of ngtsc and only matching declarables are provided to the template compiler. In JIT mode the declarables only become available after the primary template compilation has completed, so there is no need to perform directive matching in both JIT and AOT mode. PR Close #44731 | 18 January 2022, 22:51:08 UTC |
dac0430 | JoostK | 16 January 2022, 17:11:11 UTC | refactor(compiler): store modifiers in a bitmask instead of an array (#44731) This commit slightly reduces memory usage of output AST by storing type and statement modifiers as a bitmask instead of using an array. PR Close #44731 | 18 January 2022, 22:51:08 UTC |
5efebf8 | JoostK | 14 January 2022, 21:44:57 UTC | perf(compiler-cli): reduce analysis work during incremental rebuilds (#44731) This commit reduces the analysis work that needs to happen during an incremental rebuild by properly recording files for which no traits were found in the set of files that have no traits, such that the same file doesn't have to be reanalyzed during subsequent rebuilds. It also excludes shim files from analysis. PR Close #44731 | 18 January 2022, 22:51:08 UTC |
4307b82 | Ramesh Thiruchelvam | 08 January 2022, 09:18:47 UTC | refactor(common): make the error messages tree shakable (#44663) Make Long error messages tree-shakable in the production build with error codes. fixes #40096 PR Close #44663 | 18 January 2022, 18:31:44 UTC |
ccb73c0 | AnkitSharma-007 | 07 January 2022, 14:21:11 UTC | docs: add Ankit to GDE resources (#44659) PR Close #44659 | 18 January 2022, 17:25:07 UTC |
35345b6 | Renovate Bot | 16 January 2022, 00:16:54 UTC | build: update angular (#44728) PR Close #44728 | 18 January 2022, 17:24:43 UTC |
b66e479 | JoostK | 09 January 2022, 20:23:33 UTC | fix(ngcc): support element accesses for export declarations (#44669) Bundlers like Rollup may use an element access expression for an export declaration, which causes ngcc to ignore those export declarations possibly resulting in incomplete processing of packages. Element access syntax may be used when the declared name is not considered as valid JS identifier, but bundlers may be conservative in determining whether an identifier can be used (to emit a property access) and opt for a string literal in an element access instead. The element access syntax introduces a problem for ngcc, where it wouldn't consider such export as class declaration, causing them to be skipped. The ngtsc compiler is implemented with the assumption that all class declarations use a `ts.Identifier` as name, whereas the element access is using a string literal for the declared name. This makes it troublesome for ngcc to support this syntax form in UMD bundles. To work around the problem, this function transforms these access expressions into regular property accesses. The source text is parsed to an AST to allow finding the element accesses in a robust way, after which the affected text ranges are replaced with property accesses in the original source text. Closes #44037 PR Close #44669 | 15 January 2022, 01:43:59 UTC |
6e04815 | shejialuo | 10 January 2022, 13:24:22 UTC | docs(docs-infra): change the testing guide due to deprecation (#44674) The jasmine used in the docs is ```typescript expect(<variableName>).<matcher>(predicate, failOutput) ``` The new version should be ```typescript expect(<variableName>).withContext(failOutput).<matcher>(predicate) ``` So, this commit mainly focuses on changing the former to latter with format below ```typescript expect(<variableName>) .withContext(failOutput) .<matcher>(predicate) ``` And for RxJs, see https://rxjs.dev/deprecations/subscribe-arguments. > For example someone could name functions poorly and confuse the next reader: `source$.subscribe(doSomething, doSomethingElse, lol)` with that signature, you have to know unapparent details about subscribe, where using a partial observer solves that neatly: `source$.subscribe({ next: doSomething, error: doSomethingElse, complete: lol }`). This commit also does this conversion. Last, remove the unused imported `async` from file `twain.component.marbles.spec.ts`. PR Close #44674 | 13 January 2022, 20:46:24 UTC |
c2da290 | Dylan Hunn | 11 January 2022, 21:53:42 UTC | feat(docs-infra): Add a new processor for `@overriddenImplementation`. (#44689) This new processor, named `mergeOverriddenImplementation`, allows Dgeni to produce correct documentation for symbols with overridden exported constructors. For example, in the following example, the implementation documentation will be used, including the constructor signature: ``` export const Foo: FooCtor = FooImpl as FooCtor; ``` This is a major improvement over the current situation, in which no constructor signature is documented whatsoever. PR Close #44689 | 13 January 2022, 20:02:22 UTC |
adc487f | dario-piotrowicz | 16 December 2021, 19:38:30 UTC | fix(animations): apply setStyles to only rootTimelines (#44515) during keyframe building only consider the root element's timelines for the style setting, so that the states styles (applied with '*') can be applied correctly resolves #32133 resolves #28654 PR Close #44515 | 13 January 2022, 20:01:50 UTC |
d460e02 | Renovate Bot | 13 January 2022, 09:20:16 UTC | build: update all non-major dependencies (#44705) PR Close #44705 | 13 January 2022, 20:01:08 UTC |
f06b0d9 | Alan Agius | 13 January 2022, 12:05:34 UTC | test: update integration payload size checks golden file (#44440) This updates the size checks for Angular CLI version 13.1.3. The increase in size is due to changes in ESBuild. Before ```js class bS extends Wl { constructor(t, n, r, i) { super(t), (this.component = r); const o = Is(i + "-" + r.id, r.styles, []); n.addStyles(o), (this.contentAttr = "_ngcontent-%COMP%".replace(Gl, i + "-" + r.id)), (this.hostAttr = "_nghost-%COMP%".replace(Gl, i + "-" + r.id)); } applyToHost(t) { super.setAttribute(t, this.hostAttr, ""); } createElement(t, n) { const r = super.createElement(t, n); return super.setAttribute(r, this.contentAttr, ""), r; } } ``` Now ```js class ES extends Wl { constructor(t, n, r, i) { super(t), (this.component = r); const o = Is(i + "-" + r.id, r.styles, []); n.addStyles(o), (this.contentAttr = (function _S(e) { return "_ngcontent-%COMP%".replace(Gl, e); })(i + "-" + r.id)), (this.hostAttr = (function CS(e) { return "_nghost-%COMP%".replace(Gl, e); })(i + "-" + r.id)); } applyToHost(t) { super.setAttribute(t, this.hostAttr, ""); } createElement(t, n) { const r = super.createElement(t, n); return super.setAttribute(r, this.contentAttr, ""), r; } } ``` PR Close #44440 | 13 January 2022, 18:30:52 UTC |
5df4665 | Renovate Bot | 13 January 2022, 00:03:41 UTC | build: update angular (#44440) PR Close #44440 | 13 January 2022, 18:30:52 UTC |
3517e51 | Łukasz Holeczek | 04 January 2022, 15:28:29 UTC | docs: add CoreUI UI Components Library to the resources list (#44613) PR Close #44613 | 13 January 2022, 18:27:51 UTC |
3c0446c | Joey Perrott | 12 January 2022, 18:39:24 UTC | build: update shelljs dependencies to "^0.8.5" (#44697) Update shelljs dependencies to ^0.8.5 to fix a vulnerability reported to shelljs. PR Close #44697 | 13 January 2022, 18:27:32 UTC |
2189588 | Daniel Díaz | 12 January 2022, 21:10:23 UTC | docs: remove unnecessary parenthesis in View Encapsulation file (#44702) PR Close #44702 | 13 January 2022, 18:27:13 UTC |
432e518 | dario-piotrowicz | 12 January 2022, 21:37:37 UTC | refactor(elements): remove the createCustomEvent function (#44703) the createCustomEvent function's pupose is to create customEvents even on browsers where `CustomEvent` is not a constructor, `CustomEvent` is currently available in all supported browsers (since IE11 support has ended), so remove the function as it is no longer needed PR Close #44703 | 13 January 2022, 18:26:54 UTC |
290df4f | Jessica Janiuk | 11 January 2022, 22:39:08 UTC | refactor(animations): Remove unnecessary IE specific code (#44686) There were a few places we were still checking for Internet Explorer. This removes the references throughout the animations package. PR Close #44686 | 12 January 2022, 20:43:23 UTC |
57d0ca1 | Andrew Kushnir | 10 January 2022, 22:09:41 UTC | ci: add golden files for runtime error codes (#44677) Runtime error codes in the Core, Common and Forms packages were not included into the `public-api` group reviews. This commit creates the necessary golden files to keep track of further changes in the runtime codes. This is a followup from https://github.com/angular/angular/pull/44398#issuecomment-1006910976. PR Close #44677 | 12 January 2022, 20:42:06 UTC |
c7b210d | iRealNirmal | 21 December 2021, 09:38:09 UTC | refactor(forms): update email validator to inherit abstractValidator (#44545) Modified email validator to inherit abstractValidator. For every validato type different PR will be raised as discussed in #42378. Closes #42267 PR Close #44545 | 12 January 2022, 20:41:40 UTC |
c888dfd | Dmytro Mezhenskyi | 25 November 2021, 15:14:47 UTC | docs: add Decoded Frontend YT channel to resources list (#44278) PR Close #44278 | 12 January 2022, 20:41:17 UTC |
42ce3ac | Andrew Scott | 12 January 2022, 19:21:10 UTC | release: cut the v13.2.0-next.2 release (#44701) | 12 January 2022, 19:21:10 UTC |
555a57d | Andrew Scott | 12 January 2022, 18:55:28 UTC | docs: release notes for the v13.1.2 release (#44699) | 12 January 2022, 18:55:28 UTC |
e98b8f5 | wszgrcy | 06 January 2022, 15:34:39 UTC | docs: add miniprogram cross-platform development resource with resources.json (#44646) PR Close #44646 | 11 January 2022, 22:04:21 UTC |
de0ae1b | George Kalpakas | 11 January 2022, 08:50:55 UTC | build(docs-infra): upgrade cli command docs sources to 9ac3df5d1 (#44682) 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/481eb4544...9ac3df5d1): **Modified** - help/build.json PR Close #44682 | 11 January 2022, 22:04:01 UTC |
92b23f4 | Alex Rickabaugh | 10 January 2022, 21:01:47 UTC | fix(compiler-cli): properly index <svg> elements (#44678) In the `Element` node of a parsed `<svg>` element, the `name` is recorded as `:svg:svg`. When the Angular Indexer ran over this element, it would attempt to find this name in the template text and fail, as the namespace portion of the name was added automatically at parse time and is of course missing from the original template. This commit changes the indexer to detect these namespaced elements and only search for the tag name. PR Close #44678 | 11 January 2022, 19:16:18 UTC |
b8ed03b | Alex Rickabaugh | 10 January 2022, 20:52:03 UTC | fix(compiler): correct spans when parsing bindings with comments (#44678) When parsing a binding with a comment at the end of the expression, the parser previously had logic to offset the parsed spans by the length of the comment. This logic seemed not to serve any useful purpose, and instead resulted in the corruption of the spans. For example, in the expression `{{foo // comment}}`, the parser would map the parsed `foo` `PropertyRead` node at the location of the characters 'ent' from the comment suffix. This commit removes that logic, correcting the parsed spans of such nodes in the presence of comments. Removing this logic does not seem to have caused any tests to fail. PR Close #44678 | 11 January 2022, 19:16:18 UTC |
f83fb3a | Alex Rickabaugh | 10 January 2022, 20:21:35 UTC | fix(compiler-cli): handle property reads of `ThisReceiver` in the indexer (#44678) Previously, the Angular Indexer made an assumption that in any binding to a property of an `ImplicitReceiver`, the property name begins at the start of the binding. This is true for normal reads from `ImplicitReceiver` as the implicit receiver has no representation in the template. However, `ThisReceiver` inherits from `ImplicitReceiver` and _does_ have a template representation. Such a binding looks like `{{this.foo}}`. This commit corrects the logic of the indexer to use the `nameSpan` of the property binding instead of its `sourceSpan` to locate the identifier. PR Close #44678 | 11 January 2022, 19:16:18 UTC |
83e6db4 | Doug Parker | 04 December 2021, 03:17:30 UTC | refactor(compiler-cli): add validation to extended template diagnostics configuration (#44391) Refs #42966. This validates the `tsconfig.json` options for extended template diagnostics. It verifies: * `strictTemplates` must be enabled if `extendedDiagnostics` have any explicit configuration. * `extendedDiagnostics.defaultCategory` must be a valid `DiagnosticCategoryLabel`. * `extendedDiagnostics.checks` keys must all be real diagnostics. * `extendedDiagnostics.checks` values must all be valid `DiagnosticCategoryLabel`s. These include new error codes, each of which prints out the exact property that was the issue and what the available options are to fix them. It does disallow the config: ```json { "angularCompilerOptions": { "strictTemplates": false, "extendedDiagnostics": { "defaultCategory": "suppress" } } } ``` Such a configuration is technically valid and could be executed, but will be rejected by this verification logic. There isn't much reason to ever do this, since users could just drop `extendedDiagnostics` altogether and get the intended effect. This is unlikely to be a significant issue for users, so it is considered invalid for now to keep the implementation simple. PR Close #44391 | 11 January 2022, 17:33:16 UTC |
9e5ac51 | Doug Parker | 30 November 2021, 02:47:55 UTC | refactor(compiler-cli): add `defaultCategory` option (#44391) Refs #42966. The `defaultCategory` option is used for any extended template diagnostics which do not have any specific category specified for them. It defaults to `warning`, since that is the most common behavior expected for users. This provides an easy way for users to promote all diagnostics to errors or suppress all diagnostics. PR Close #44391 | 11 January 2022, 17:33:16 UTC |
0cf1322 | Doug Parker | 07 December 2021, 05:35:38 UTC | refactor(compiler-cli): use configured diagnostic category when emitting warnings from extended template diagnostics (#44391) Refs #42966. This updates `TemplateContext` to include a new `makeTemplateDiagnostic()` function which automatically uses the correct diagnostic category for that check. This makes sure that each diagnostic is emitted with the correct category. It also implicitly passes some known values like `component` and `code` to make the extended template diagnostics a little simpler. Diagnostics which are suppressed are never instantiated at all, which acts as a slight performance optimization since any emitted diagnostics would be ignored anyways. Unfortunately, diagnostics still have access to `ctx.templateTypeChecker.makeTemplateDiagnostic()` to manually create diagnostics with a different category. Both banana in box and nullish coalescing checks include tests to make sure they respect a manually configured category. This convention should hopefully give a reasonable certainty that new diagnostics will use the correct reporting function, even if that is not strictly enforced. PR Close #44391 | 11 January 2022, 17:33:16 UTC |
416368a | Doug Parker | 07 December 2021, 05:41:31 UTC | refactor(compiler-cli): add initial compiler options definitions for extended template diagnostics (#44391) Refs #42966. This includes a mapping of extended template diagnostics to their associated diagnostic category. It is generated from the list of diagnostic names, so the list should always be implicitly kept up to date. Usage looks like: ```json { "angularCompilerOptions": { "extendedDiagnostics": { "checks": { "invalidBananaInBox": "error", "nullishCoalescingNotNullable": "suppress" } } } } ``` PR Close #44391 | 11 January 2022, 17:33:16 UTC |
4033fdf | Doug Parker | 30 November 2021, 01:11:41 UTC | refactor(compiler-cli): add `allDiagnosticFactories` (#44391) Refs #42966. This is a static array of all the 1P extended template diagnostic factories built into the Angular compiler directly. It provides an encapsulated list of all diagnostics rather than requiring users to manually list each one individually. PR Close #44391 | 11 January 2022, 17:33:16 UTC |
1446017 | Doug Parker | 07 December 2021, 02:23:21 UTC | refactor(compiler-cli): call factories directly from extended template checker (#44391) Refs #42966. This moves extended template check factory invocations into the checker itself, where it can provide a more consistent API contract. Factories are called with compiler options and may return a `TemplateCheck` or `undefined` if the current options do not support that check. This allows `nullishCoalescingNotNullable` to disable itself when `strictNullChecks` is disabled without throwing errors. This gives extended template diagnostics a stronger abstraction model to define their behavior with. PR Close #44391 | 11 January 2022, 17:33:16 UTC |
ed74e3a | Doug Parker | 30 November 2021, 00:48:27 UTC | refactor(compiler-cli): add `ExtendedTemplateDiagnosticName` and `TemplateCheckFactory` (#44391) Refs #42966. The enum of extended template diagnostic names allows a global registry of first-party diagnostics with a developer-friendly string name which can be used for configuration. This name is used in the new `TemplateCheckFactory` to bind the name to a particular `ErrorCode` and make both available *before* constructing the actual template check, which is necessary to configure it appropriately. PR Close #44391 | 11 January 2022, 17:33:15 UTC |
a4ab6d6 | Kristiyan Kostadinov | 30 December 2021, 09:07:11 UTC | feat(compiler): add support for safe calls in templates (#44580) Adds support for safely calling functions that may be undefined inside template expressions. E.g. `maybeUndefined?.()` Fixes #42298. PR Close #44580 | 11 January 2022, 17:32:47 UTC |
af2a131 | ivanwonder | 17 December 2021, 15:01:19 UTC | feat(language-service): support completions for animation (#44630) Support completions for animation. PR Close #44630 | 10 January 2022, 21:22:44 UTC |
73424de | ivanwonder | 17 December 2021, 14:31:04 UTC | feat(compiler-cli): provide the animations for `DirectiveMeta` (#44630) In `language-service`, the `checker.getDirectiveMetadata` doesn't return the animations meta of the `Component`. but it's useful for animation completion. PR Close #44630 | 10 January 2022, 21:22:44 UTC |
1a91218 | JoostK | 11 December 2021, 20:19:32 UTC | fix(compiler-cli): enable narrowing of using type guard methods (#44447) The changes in 2028c3933f7fe2961999da475febde5a03bb694d caused method calls to be emitted using additional parenthesis into the TCB, which in turn prevented proper type narrowing when the method acts as a type guard. This commit special-cases method calls from property reads to avoid the additional parenthesis. Fixes #44353 PR Close #44447 | 10 January 2022, 21:20:05 UTC |
ebf8446 | Patrick Prakash | 03 December 2021, 11:17:15 UTC | docs: Updated described version number (#44365) Updated a mentioned version to a recent angular version number to cope up with the latest version PR Close #44365 | 10 January 2022, 19:58:52 UTC |
dff497f | Renovate Bot | 10 January 2022, 19:17:09 UTC | build: update all non-major dependencies (#44502) PR Close #44502 | 10 January 2022, 19:55:23 UTC |
c82e541 | twerske | 06 January 2022, 17:38:54 UTC | docs: improve the component styling guide (#44234) PR Close #44234 | 10 January 2022, 19:53:56 UTC |
a55e842 | Kyoz | 05 January 2022, 02:51:16 UTC | docs: missing whitespace in HostListener example (#44624) PR Close #44624 | 10 January 2022, 19:53:08 UTC |
5a4ddfd | Andrew Scott | 17 December 2021, 00:43:11 UTC | feat(router): Allow symbol keys for `Route` `data` and `resolve` properties (#44519) This commit adds the ability to use a symbol as the key for the `data` and `resolve` objects in a `Route` config. PR Close #44519 | 10 January 2022, 19:43:12 UTC |
8ba43a1 | Dario Piotrowicz | 29 December 2021, 18:59:36 UTC | fix(animations): retain triggers values for moved tracked list items (#44578) when reordering a list with animations the list items lose their current triggers values, that is because the reordering of an item is implemented as follows (_note:_ the following implementation has been added in PR #23534) - the item is removed and marked _setForRemoval_ - the item is re-inserted, and the _setForRemoval_ is changed to _setForMove_ - the player set for animating the removal is destroyed when _setForMove_ is detected the above steps allow the element not to be animated and to keep its styling but the triggers values get lost since the removal transition/player has already been initialized, so this change adds a _previousTriggersValues_ map in the _REMOVAL_FLAG_ field in order to restore the triggers values if/when the removal turns out to be a move, changing the above steps to: - the item is removed and marked setForRemoval __and its current triggers values are saved as well__ - the item is re-inserted, and the setForRemoval is changed to setForMove - the player set for animating the removal is destroyed when setForMove is detected __and the trigger values are re-applied in the engine's statesByElement map__ resolves #29526 PR Close #44578 | 07 January 2022, 22:15:52 UTC |
13d5f64 | Renovate Bot | 07 January 2022, 06:08:16 UTC | build: update dependency google-closure-compiler to v20220104 (#44655) PR Close #44655 | 07 January 2022, 19:16:52 UTC |
eeaabe7 | Kristiyan Kostadinov | 07 January 2022, 09:31:51 UTC | fix(compiler-cli): incorrectly interpreting $any calls with a property read (#44657) This was flagged during the code review of #44580. When generating a type check block, we were interpreting any call to `$any` as an `as any` cast, even if it's part of a `PropertyRead` (e.g. `foo.$any(1)`). This is handled correctly in other parts of the compiler, but it looks like it was missed in the type checker. PR Close #44657 | 07 January 2022, 18:11:58 UTC |
c57e22a | Dario Piotrowicz | 27 December 2021, 16:54:27 UTC | refactor(docs-infra): remove IE11 code (#44570) since IE11 is no longer a supported browser, remove angular.io code implemented specifically for IE11 support this change reverts the following PRs: - #26059 (slightly) - #28188 (fully) - #32871 (fully) - #41183 (partially) PR Close #44570 | 07 January 2022, 18:11:35 UTC |
b184f0a | dario-piotrowicz | 17 December 2021, 16:12:18 UTC | refactor: fix various typos across different packages (#44523) simply fix different unrelated typos present in various packages PR Close #44523 | 07 January 2022, 18:11:10 UTC |
277d2af | alkavats1 | 06 January 2022, 19:13:25 UTC | docs(common): use <em> instead of <i> in examples (#44648) Updated the html tag format from <i> to <em> in ts file. <em> tag helps to improve the code quality PR Close #44648 | 07 January 2022, 18:10:47 UTC |
de93b6e | Doug Parker | 06 January 2022, 19:14:52 UTC | refactor(compiler-cli): update template typechecking link to latest angular.io version (#44649) This page exists in the most recent angular.io version (v13 currently), so there's no need to link to an old version. The hash also refers to the title section of the page, which isn't necessary and is now dropped. PR Close #44649 | 07 January 2022, 18:10:19 UTC |
21f8d12 | Alex Rickabaugh | 08 December 2021, 19:05:24 UTC | release: cherry-pick the v12.2.15 release notes (#44619) PR Close #44619 | 07 January 2022, 18:09:40 UTC |
cc6380c | Dylan Hunn | 01 December 2021, 23:08:56 UTC | release: cherry-pick the v12.2.14 release notes (#44341) (#44619) resolves #44475 PR Close #44619 | 07 January 2022, 18:09:40 UTC |
0cf5501 | Andrew Kushnir | 07 January 2022, 00:17:23 UTC | build: use correct target name (#44651) Dev mode output was switched from ES5 -> ES2015 recently and as a part of those changes, some target names that contained `_es5` postfixes were changes to `_es2015` instead. This commit fixes the issue with one of the recently merged BUILD files that contained the old (`_es5`) postfix. PR Close #44651 | 07 January 2022, 00:42:22 UTC |
bb346fc | alkavats1 | 06 January 2022, 13:55:16 UTC | docs(common): url link format updated (#44645) fix the url link format from http to https in BAZEL.md && component-styles.md PR Close #44645 | 06 January 2022, 23:49:47 UTC |
84ff67f | Joey Perrott | 05 January 2022, 22:37:27 UTC | build: update .bazelversion (#44641) Update to the latest version of bazel. PR Close #44641 | 06 January 2022, 23:49:02 UTC |
f8af49e | JoostK | 30 December 2021, 15:49:07 UTC | fix(compiler-cli): fix crash during type-checking of library builds (#44587) When building a library, the `rootDir` option is configured to ensure that all source files are present within the entry-point that is being build. This imposes an extra constraint on the reference emit logic, which does not allow emitting a reference into a source file outside of this `rootDir`. During the generation of type-check blocks we used to make a best-effort estimation of whether a type reference can be emitted into the type-check file. This check was relaxed in #42492 to support emitting more syntax forms and type references, but this change did not consider the `rootDir` constraint that is present in library builds. As such, the compiler might conclude that a type reference is eligible for emit into the type-check file, whereas in practice this would cause a failure. This commit changes the best-effort estimation into a "preflight" reference emit that is fully accurate as to whether emitting a type reference is possible. Fixes #43624 PR Close #44587 | 06 January 2022, 23:44:24 UTC |
1955d0a | JoostK | 29 December 2021, 22:30:53 UTC | refactor(compiler-cli): implement `realpath` in `NgtscCompilerHost` (#44587) The `NgtscCompilerHost` is implemented using the `FileSystem` abstraction of the compiler, which is implemented for tests using an in-memory `MockFileSystem`. If the in-memory filesystem contains symlinks, then using `NgtscCompilerHost` would not reflect their resolved real path. Instead, the TypeScript compiler would use its default implementation based on the real filesystem, which is unaware of the in-memory `MockFileSystem` setup. This change does not currently address any issues, but is being fixed as it prevented a reproduction scenario from behaving correctly. PR Close #44587 | 06 January 2022, 23:44:24 UTC |
03edc7d | JoostK | 29 December 2021, 22:20:45 UTC | test(compiler-cli): properly support symlinks in `MockFileSystem` (#44587) This commit fixes an issue with symlink handling in `MockFileSystem`, where entries within a symlink would fail to resolve. PR Close #44587 | 06 January 2022, 23:44:24 UTC |
c1a9bb3 | JoostK | 29 December 2021, 22:13:07 UTC | refactor(compiler-cli): use `absoluteFromSourceFile` to obtain a source file path (#44587) Using `absoluteFromSourceFile` leverages the cache of the resolved absolute path, instead of having to compute it each time. PR Close #44587 | 06 January 2022, 23:44:24 UTC |
7052e27 | JoostK | 29 December 2021, 22:11:18 UTC | refactor(compiler-cli): improve DX for reference emit failures (#44587) In certain scenarios, the compiler may have crashed with an `Unable to write a reference` error which would be particularly hard to diagnose. One of the primary reasons for this failure is when the `rootDir` option is configured---typically the case for libraries--- and a source file is imported using a relative import from an external entry-point. This would normally report TS6059 for the invalid relative import, but the crash prevents this error from being surfaced. This commit refactors the reference emit logic to result in an explicit `Failure` state with a reason as to why the failure occurred. This state is then used to report a `FatalDiagnosticException`, preventing a hard crash. Closes #44414 PR Close #44587 | 06 January 2022, 23:44:24 UTC |
67df935 | Andrew Kushnir | 08 December 2021, 01:51:26 UTC | refactor(forms): use shared RuntimeError class (#44398) This commit performs some refactoring of the AbstractControl-based classes to employ shared `RuntimeError` class and also updates the code to avoid duplication and improve minification. PR Close #44398 | 06 January 2022, 23:43:19 UTC |
a84f99f | Andrew Kushnir | 08 December 2021, 01:37:00 UTC | refactor(core): move runtime error code logic (#44398) This commit moves some logic to make the location of runtime error codes consistent across packages. Now all error codes are located in `packages/core/src/errors.ts` file. PR Close #44398 | 06 January 2022, 23:43:18 UTC |
66e59bc | Andrew Kushnir | 08 December 2021, 01:24:46 UTC | refactor(core): make RuntimeError reusable across packages (#44398) This commit updates the code around the `RuntimeError` class to make it more reusable between packages (currently it's only usable inside the `core` package). Specifically: - the error formatting logic was updated to handle cases when there is no error message provided - there is no special Set that contains a set of error codes for which we have guides on angular.io. Instead, this is now encoded into the error code itself (making such codes negative integers). Having a separate Set makes it non-tree-shakable, which we want to avoid. This change should allow to employ the `RuntimeError` class in other packages to further standardize this subsystem and make the errors thrown by the framework consistent. As a part of the refactoring, the `common` package code was also updated to follow the same logic as `core`, since the `RuntimeError` class was used there as well. PR Close #44398 | 06 January 2022, 23:43:18 UTC |
7b9169e | Yuchao Wu | 03 January 2022, 23:42:00 UTC | docs(animations): fix grammar (#44607) Fix grammar issues based on suggestions in issue #44403 Fixes #44403 PR Close #44607 | 06 January 2022, 18:40:02 UTC |