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
- 04eec90a47810c1e2ded2475d8ca5721b62b7d18
- 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 ...
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
04eec90 | Andrew Kushnir | 26 January 2022, 19:58:31 UTC | release: cut the v14.0.0-next.0 release (#44840) | 26 January 2022, 19:58:31 UTC |
5682626 | Andrew Kushnir | 26 January 2022, 19:53:13 UTC | docs: release notes for the v13.2.0 release (#44839) | 26 January 2022, 19:53:13 UTC |
2244c5c | Joey Perrott | 26 January 2022, 19:32:31 UTC | release: update version to 14.0.0-next.0 (#44837) PR Close #44837 | 26 January 2022, 19:40:05 UTC |
894fa75 | Dylan Hunn | 26 January 2022, 00:22:18 UTC | refactor(forms): Temporarily disable the typed forms migration. (#44828) It's best to disable this optional migration in the minor release, although it shouldn't run anyway -- we don't want people accidentally running it. This PR will be rolled back after the minor is out. PR Close #44828 | 26 January 2022, 01:03:48 UTC |
1bce51c | Andrew Scott | 21 January 2022, 19:51:40 UTC | fix(compiler-cli): Handle `ng-template` with structural directive in indexer (#44788) An `ng-template` with an inline template (i.e. has a structural directive) would previously not get an `undefined` `tagName` because the logic assumed the element would be `t.Element` or `t.Content` and read the tag name from the `name` property. For a `t.Template`, this exists instead on the `t.tagName`. The final result would be an `tagName` of `undefined` for the parent `t.Template`, causing failures in the indexer downstream. This `undefined` value is actually expected in the renderer code, even though the type does not specify this possibility. This change updates the type of `tagName` to be `string|null` and explicitly handles the case where there is a structural directive on an `ng-template`. You can see how the two are differentiated in the compliance code that was modified in this commit. PR Close #44788 | 25 January 2022, 22:15:44 UTC |
333cbfe | George Kalpakas | 24 January 2022, 22:15:36 UTC | build(docs-infra): update `dgeni-packages` to v0.29.3 (#44810) This version includes angular/dgeni-packages#318 and thus fixes the rendering of overridden methods in API docs. Fixes #44468 PR Close #44810 | 25 January 2022, 17:24:40 UTC |
05b8de7 | Renovate Bot | 20 January 2022, 09:34:46 UTC | build: update angular (#44771) PR Close #44771 | 25 January 2022, 17:23:58 UTC |
6a68bab | Tim Bowersox | 22 January 2022, 02:24:09 UTC | docs: add link to AbstractControlOptions reference (#44764) PR Close #44764 | 24 January 2022, 22:53:14 UTC |
1610780 | Tim Bowersox | 22 January 2022, 02:10:56 UTC | docs: exclude setValue from async-validator-usage docregion (#44764) Co-authored-by: Andrew Kushnir <43554145+AndrewKushnir@users.noreply.github.com> PR Close #44764 | 24 January 2022, 22:53:14 UTC |
999cc7b | Tim Bowersox | 22 January 2022, 00:49:01 UTC | docs: add missing return statement to validate() (#44764) PR Close #44764 | 24 January 2022, 22:53:14 UTC |
811c244 | Tim Bowersox | 22 January 2022, 00:32:39 UTC | docs: remove trailing space in code example (#44764) PR Close #44764 | 24 January 2022, 22:53:14 UTC |
9f4b467 | Tim Bowersox | 22 January 2022, 00:18:11 UTC | docs: fix UniqueAlterEgoValidatorDirective (#44764) PR Close #44764 | 24 January 2022, 22:53:14 UTC |
4948ab9 | Tim Bowersox | 22 January 2022, 00:17:41 UTC | docs: expand async validators in reactive forms (#44764) * Hone docregions for code examples * Add more detailed description PR Close #44764 | 24 January 2022, 22:53:14 UTC |
2c40b7d | Tim Bowersox | 21 January 2022, 23:27:54 UTC | docs: revise text for adding async validators to template-driven forms (#44764) Co-authored-by: Andrew Kushnir <43554145+AndrewKushnir@users.noreply.github.com> PR Close #44764 | 24 January 2022, 22:53:14 UTC |
765c860 | Tim Bowersox | 21 January 2022, 01:26:31 UTC | docs: restore UniqueAlterEgoValidator (#44764) Update the docregion for the directive class to differentiate them PR Close #44764 | 24 January 2022, 22:53:14 UTC |
34bbf66 | Tim Bowersox | 21 January 2022, 01:06:55 UTC | docs: fix UniqueAlterEgoValidatorDirective (#44764) * Use correct class name in providers * Update parameter & return signature for validate() PR Close #44764 | 24 January 2022, 22:53:14 UTC |
4098aac | Tim Bowersox | 20 January 2022, 12:34:29 UTC | docs: update async validators section (#44764) * Update the UniqueAlterEgoValidator code example * Add async-validator docregion to hero-form-reactive.component.2.ts * Fix typo under Implementing a custom async validator * Add h3 sections for adding async validators to reactive & template-driven forms PR Close #44764 | 24 January 2022, 22:53:14 UTC |
25739c8 | Tim Bowersox | 20 January 2022, 00:39:24 UTC | docs: add note about using NG_ASYNC_VALIDATORS (#44764) When setting up an async validator in a template-driven form, it's necessary to register the directive with NG_ASYNC_VALIDATORS instead of NG_VALIDATORS. This was not mentioned in the docs. PR Close #44764 | 24 January 2022, 22:53:14 UTC |
c9fcc4f | Jessica Janiuk | 24 January 2022, 20:11:51 UTC | test(animations): Add bundling symbol test for animations package (#44809) This adds a full bundling animation symbols test to the test suite. PR Close #44809 | 24 January 2022, 22:52:30 UTC |
ec0a0e0 | George Kalpakas | 14 January 2022, 18:45:58 UTC | feat(service-worker): add `cacheOpaqueResponses` option for data-groups (#44723) Add a new option for configuring data-groups, `cacheOpaqueResponses`, that determines whether opaque responses are cached or not. This allows greater flexibility in configuring the behavior of data-groups, while still keeping the current defaults as fallbacks. Fixes #44246 PR Close #44723 | 24 January 2022, 22:51:59 UTC |
bfcc69d | George Kalpakas | 14 January 2022, 18:45:57 UTC | test(service-worker): make `MockResponse` behave more similarly to real responses (#44723) Make the `MockResponse` class used in tests behave more similarly to how real responses work by making the following improvements: - Use an empty `statusText` (`''`) when provided, instead of the default `'OK'` value. This allows better representing opaque responses. - Preserve more properties (`redirected`, `type`, `url`) when cloning a `MockResponse`. PR Close #44723 | 24 January 2022, 22:51:58 UTC |
2f1457d | George Kalpakas | 14 January 2022, 18:45:56 UTC | docs(service-worker): mention strategy-dependent caching behavior for opaque responses (#44723) Update the "Service worker configuration" guide to mention the different caching behaviors used for opaque responses based on the data-group's configured strategy. Related to #44246. PR Close #44723 | 24 January 2022, 22:51:58 UTC |
531d1cf | 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:57 UTC |
a534a78 | 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 |
7de8ee9 | 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 |
215db7f | 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:43 UTC |
8363db4 | 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:51 UTC |
ec2e6f6 | 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:53 UTC |
f1e84a3 | 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:53 UTC |
33f23ab | 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 |
7480660 | 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 |
b19c3f7 | 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 |
25a83eb | JiaLiPassion | 08 April 2021, 23:05:52 UTC | fix(zone.js): update several flaky cases (#41526) Related to #41434 Fix several flaky cases. 1. should restore `window.onerror` in test cases. 2. expect().toThrow() should pass a function. PR Close #41526 | 24 January 2022, 18:40:42 UTC |
955a677 | Andrew Kushnir | 24 January 2022, 17:50:02 UTC | docs: release notes for the v13.2.0-rc.1 release (#44805) | 24 January 2022, 17:50:02 UTC |
80467c3 | 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:30 UTC |
627e807 | 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:42 UTC |
e2920d9 | Renovate Bot | 21 January 2022, 09:31:59 UTC | build: update all non-major dependencies (#44713) PR Close #44713 | 21 January 2022, 19:21:51 UTC |
d8bff1a | 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 |
fb9163a | 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:30 UTC |
37e5196 | 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:30 UTC |
9d4af65 | ivanwonder | 12 January 2022, 14:20:31 UTC | feat(language-service): Provide plugin to delegate rename requests to Angular (#44696) When the user wants to rename a symbol in the ts file VSCode will ask the rename providers for the answer in turn. If the first extension returns the result, the VSCode will break the loop and apply the result. If the first extension cannot rename the symbol, VSCode will ask the second extension in the list (built-in TS/JS extension, Angular LS extension, etc.). In other words, VSCode takes the result from only one rename provider and the order depends on registration timing, scoring. Because the built-in ts extension and Angular extension have the same high score, if the built-in ts extension is the first(depends on the time the extension was registered), the result will be provided by the built-in extension. We want Angular to provide it, so this plugin will delegate rename requests and reject the request for the built-in ts server. The Angular LS only provides the rename info when working within an Angular project. If we cannot locate Angular sources in the project files, the built-in extension should provide the rename info. This plugin will apply to the built-in TS/JS extension and delegate rename requests to the Angular LS. It provides the rename info only when it is an Angular project. Otherwise, it will return info by the default built-in ts server rename provider. See [here][1] for more info. [1]: https://github.com/microsoft/vscode/issues/115354 PR Close #44696 | 21 January 2022, 19:18:48 UTC |
197f3f4 | 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 |
4e180cb | 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:35 UTC |
011d0f2 | 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:35 UTC |
3c14eb5 | Dylan Hunn | 20 January 2022, 01:42:14 UTC | docs: release notes for the v13.2.0-rc.0 release | 20 January 2022, 01:43:26 UTC |
ed6911e | Dylan Hunn | 20 January 2022, 01:42:14 UTC | release: bump the next branch to v13.3.0-next.0 | 20 January 2022, 01:43:26 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 |