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/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/55303-fix-v0-version-number
- 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-ben-to-reviewers
- refs/heads/add-docs-script-command
- refs/heads/backup-7.2.x
- refs/heads/bazel
- refs/heads/default-cookie-banner-state
- refs/heads/docs/update-security-guide-reference
- refs/heads/fix-extra-padding-on-tutorial-editor
- refs/heads/fix-missing-security-guide
- 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/remove-aio-stuff
- refs/heads/saucelabs-bazel
- refs/heads/signals
- refs/heads/sonukapoor-patch-1
- refs/heads/styling-experiments
- refs/heads/template_pipeline
- refs/heads/twerske-patch-1
- 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.2
- refs/tags/17.3.3
- refs/tags/17.3.4
- refs/tags/17.3.5
- 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/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
- refs/tags/5.2.10
- refs/tags/5.2.11
- refs/tags/5.2.2
- refs/tags/5.2.3
- refs/tags/5.2.4
- refs/tags/5.2.5
- refs/tags/5.2.6
- refs/tags/5.2.7
- refs/tags/5.2.8
- refs/tags/5.2.9
- refs/tags/6.0.0
- refs/tags/6.0.0-beta.0
- refs/tags/6.0.0-beta.1
- refs/tags/6.0.0-beta.2
- refs/tags/6.0.0-beta.3
- refs/tags/6.0.0-beta.4
- refs/tags/6.0.0-beta.5
- refs/tags/6.0.0-beta.6
- refs/tags/6.0.0-beta.7
- refs/tags/6.0.0-beta.8
- refs/tags/6.0.0-rc.0
- refs/tags/6.0.0-rc.1
- refs/tags/6.0.0-rc.2
- refs/tags/6.0.0-rc.3
- refs/tags/6.0.0-rc.4
- refs/tags/6.0.0-rc.5
- refs/tags/6.0.0-rc.6
- refs/tags/6.0.1
- refs/tags/6.0.2
- refs/tags/6.0.3
- refs/tags/6.0.4
- refs/tags/6.0.5
- refs/tags/6.0.6
- refs/tags/6.0.7
- refs/tags/6.0.8
- refs/tags/6.0.9
- refs/tags/6.1.0
- refs/tags/6.1.0-beta.0
- refs/tags/6.1.0-beta.1
- refs/tags/6.1.0-beta.2
- refs/tags/6.1.0-beta.3
- refs/tags/6.1.0-rc.0
- refs/tags/6.1.0-rc.3
- refs/tags/6.1.1
- refs/tags/6.1.10
- refs/tags/6.1.2
- refs/tags/6.1.3
- refs/tags/6.1.4
- refs/tags/6.1.5
- refs/tags/6.1.6
- refs/tags/6.1.7
- refs/tags/6.1.8
- refs/tags/6.1.9
- refs/tags/7.0.0
- refs/tags/7.0.0-beta.0
- refs/tags/7.0.0-beta.1
- refs/tags/7.0.0-beta.2
- refs/tags/7.0.0-beta.3
- refs/tags/7.0.0-beta.4
- faf5205a66c17f29424ad46012de85898a118be6
- Branches list truncated to 1000 entries, 177 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 |
---|---|---|---|---|
faf5205 | Misko Hevery | 11 November 2020, 16:54:48 UTC | release: cut the v11.0.0 release | 11 November 2020, 16:54:48 UTC |
6e45f2b | Misko Hevery | 09 November 2020, 21:09:49 UTC | release: cut the v11.0.0-rc.3 release | 09 November 2020, 21:09:49 UTC |
28112ca | David Shevitz | 05 November 2020, 17:59:45 UTC | docs: add update information for v11 release (#39607) PR Close #39607 | 09 November 2020, 20:20:34 UTC |
a17ae55 | George Kalpakas | 07 November 2020, 13:11:47 UTC | ci: log commands output when deploying angular.io to Firebase (#39596) In #39470, the `deploy-to-firebase.sh` script (used to deploy AIO to Firebase when building an upstream branch), was replaced by an equivalent JS script. In this new `deploy-to-firebase.js` script, we were overly aggressive with suppressing command output, which made it hard to investigate failures ([example failing CI job][1]). This commit updates the `deploy-to-firebase.js` script to capture command output as usual in the CI job logs. This makes the output similar to the one generated by the old [deploy-to-firebase.sh][2] script ([example CI logs][3]). One concern with capturing command output is having the value of a secret environment variables leaked in the logs. This is not the case here, since: 1. The secret env vars are not printed from the commands that use them. 2. CircleCI will [mask the values of secret env vars][4] in the output. As an extra precaution (although not strictly necessary), we run `yarn` with the `--silent` option, which avoid echoing the executed yarn commands. [1]: https://circleci.com/gh/angular/angular/849310 [2]: https://github.com/angular/angular/blob/3b0b7d22109c79b4dceb/aio/scripts/deploy-to-firebase.sh [3]: https://circleci.com/gh/angular/angular/848109 [4]: https://circleci.com/docs/2.0/env-vars/#secrets-masking PR Close #39596 | 09 November 2020, 15:41:01 UTC |
3cc9bee | George Kalpakas | 05 November 2020, 16:26:14 UTC | build(docs-infra): print the git commit when deploying to Firebase (#39596) The commit updates the AIO deployment script to also print the commit SHA. This makes it easier to check whether a version has been successfully deployed, by comparing the commit SHA from the CI job with the SHA in the version string in the footer of the AIO app. PR Close #39596 | 09 November 2020, 15:41:01 UTC |
4552b4b | Alan Agius | 03 November 2020, 11:37:46 UTC | docs: update cli deprecations (#39547) Add new CLI deprecations and remove old ones PR Close #39547 | 09 November 2020, 15:40:25 UTC |
c68ca49 | Alex Rickabaugh | 30 October 2020, 21:37:02 UTC | fix(compiler-cli): avoid duplicate diagnostics about unknown pipes (#39517) TCB generation occasionally transforms binding expressions twice, which can result in a `BindingPipe` operation being `resolve()`'d multiple times. When the pipe does not exist, this caused multiple OOB diagnostics to be recorded about the missing pipe. This commit fixes the problem by making the OOB recorder track which pipe expressions have had diagnostics produced already, and only producing them once per expression. PR Close #39517 | 06 November 2020, 23:27:40 UTC |
dd28855 | George Kalpakas | 04 November 2020, 18:46:59 UTC | fix(elements): update the view of an `OnPush` component when inputs change (#39452) As with regular Angular components, Angular elements are expected to have their views update when inputs change. Previously, Angular Elements views were not updated if the underlying component used the `OnPush` change detection strategy. This commit fixes this by calling `markForCheck()` on the component view's `ChangeDetectorRef`. NOTE: This is similar to how `@angular/upgrade` does it: https://github.com/angular/angular/blob/3236ae0ee118d0734c90fa9f3767435396213470/packages/upgrade/src/common/src/downgrade_component_adapter.ts#L146. Fixes #38948 PR Close #39452 | 06 November 2020, 17:31:49 UTC |
ff925af | George Kalpakas | 04 November 2020, 18:45:33 UTC | test(elements): add integration tests for Angular Elements using `ShadowDom` (#39452) Previously, the project used for running integration tests for Angular Elements declared a component that used `ShadowDom` for view encopsulation, but it did not include any tests to verify that the view was updated correctly. This commit adds the missing tests. PR Close #39452 | 06 November 2020, 17:31:49 UTC |
ce7d5c4 | George Kalpakas | 04 November 2020, 18:45:32 UTC | test(elements): fix `ComponentNgElementStrategy` test for components without `ngOnChanges` (#39452) `ComponentNgElementStrategy` is supposed to call `ngOnChanges()` on the underlying component instance if available, but not fail if the component does not have an `ngOnChanges()` method. This works as expected. However, the test used to verify that was invalid; i.e. the test would pass even if `ComponentNgElementStrategy` would try to call `ngOnChanges()` on a component without such a method. This commit replaces the invalid test with a new one that correctly verifies that `ComponentNgElementStrategy` does not try to call `ngOnChanges()`. PR Close #39452 | 06 November 2020, 17:31:49 UTC |
62457ca | George Kalpakas | 04 November 2020, 18:45:32 UTC | test(elements): simplify creation of `FakeComponentFactory#componentRef` (#39452) Previously, the `componentRef` property of `FakeComponentFactory` used in `elements` tests was initialy set to a spy object with all mock properties defined as spied methods. Later, the properties where overwritten to the actual mock values. This commit simplifies the creation of `componentRef` by correctly using the arguments of [jasmine.createSpyObj()][1] to specify the desired shape of the spy object (separating spied properties from methods and directly providing the mock values). [1]: https://jasmine.github.io/api/3.5/jasmine.html#.createSpyObj PR Close #39452 | 06 November 2020, 17:31:49 UTC |
0319fc7 | George Kalpakas | 04 November 2020, 18:45:31 UTC | test(elements): fix typo in test description (`even if when` --> `even if`) (#39452) This commit fixes a typo in a test description. PR Close #39452 | 06 November 2020, 17:31:49 UTC |
7cb9e19 | Jessica Janiuk | 27 October 2020, 23:07:08 UTC | fix(core): Access injected parent values using SelfSkip (#39464) In ViewEngine, SelfSkip would navigate up the tree to get tokens from the parent node, skipping the child. This restores that functionality in Ivy. In ViewEngine, if a special token (e.g. ElementRef) was not found in the NodeInjector tree, the ModuleInjector was also used to lookup that token. While special tokens like ElementRef make sense only in a context of a NodeInjector, we preserved ViewEngine logic for now to avoid breaking changes. We identified 4 scenarios related to @SkipSelf and special tokens where ViewEngine behavior was incorrect and is likely due to bugs. In Ivy this is implemented to provide a more intuitive API. The list of scenarios can be found below. 1. When Injector is used in combination with @Host and @SkipSelf on the first Component within a module and the injector is defined in the module, ViewEngine will get the injector from the module. In Ivy, it does not do this and throws instead. 2. When retrieving a @ViewContainerRef while @SkipSelf and @Host are present, in ViewEngine, it throws an exception. In Ivy it returns the host ViewContainerRef. 3. When retrieving a @ViewContainerRef on an embedded view and @SkipSelf is present, in ViewEngine, the ref is null. In Ivy it returns the parent ViewContainerRef. 4. When utilizing viewProviders and providers, a child component that is nested within a parent component that has @SkipSelf on a viewProvider value, if that provider is provided by the parent component's viewProviders and providers, ViewEngine will return that parent's viewProviders value, which violates how viewProviders' visibility should work. In Ivy, it retrieves the value from providers, as it should. These discrepancies all behave as they should in Ivy and are likely bugs in ViewEngine. PR Close #39464 | 06 November 2020, 17:26:01 UTC |
f51cf29 | Pete Bacon Darwin | 05 November 2020, 11:01:45 UTC | fix(compiler-cli): do not drop non-Angular decorators when downleveling (#39577) There is a compiler transform that downlevels Angular class decorators to static properties so that metadata is available for JIT compilation. The transform was supposed to ignore non-Angular decorators but it was actually completely dropping decorators that did not conform to a very specific syntactic shape (i.e. the decorator was a simple identifier, or a namespaced identifier). This commit ensures that all non-Angular decorators are kepts as-is even if they are built using a syntax that the Angular compiler does not understand. Fixes #39574 PR Close #39577 | 06 November 2020, 17:21:54 UTC |
bd5c7dd | George Kalpakas | 06 November 2020, 09:29:44 UTC | build(docs-infra): upgrade cli command docs sources to ac653af78 (#39587) Updating [angular#11.0.x](https://github.com/angular/angular/tree/11.0.x) from [cli-builds#11.0.x](https://github.com/angular/cli-builds/tree/11.0.x). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/c8f3ce348...ac653af78): **Modified** - help/build.json - help/test.json PR Close #39587 | 06 November 2020, 17:16:54 UTC |
2da9a46 | Athur Ming | 06 November 2020, 06:57:34 UTC | docs: typo fix for 'Intall' (#39585) 'Intall' should be 'Install' PR Close #39585 | 06 November 2020, 17:16:07 UTC |
b8e9b3d | Pete Bacon Darwin | 29 October 2020, 09:45:01 UTC | fix(compiler): skipping leading whitespace should not break placeholder source-spans (#39486) Tokenized text node may have leading whitespace skipped from their source-span. But the source-span is used to compute where there are interpolated blocks, resulting in placeholder nodes whose source-spans are offset by the amount of skipped characters. This fix uses the `fullStart` location of text source-spans for computing the source-span of placeholders, so that they are accurate. Fixes #39195 PR Close #39486 | 05 November 2020, 15:58:34 UTC |
94d0013 | Pete Bacon Darwin | 28 October 2020, 21:37:24 UTC | refactor(compiler): capture `fullStart` locations when tokenizing (#39486) This commit ensures that when leading whitespace is skipped by the tokenizer, the original start location (before skipping) is captured in the `fullStart` property of the token's source-span. PR Close #39486 | 05 November 2020, 15:58:34 UTC |
92f833b | Pete Bacon Darwin | 28 October 2020, 21:35:06 UTC | refactor(compiler): store the `fullStart` location on `ParseSourceSpan`s (#39486) The lexer is able to skip leading trivia in the `start` location of tokens. This makes the source-span more friendly since things like elements appear to begin at the start of the opening tag, rather than at the start of any leading whitespace, which could include newlines. But some tooling requires the full source-span to be available, such as when tokenizing a text span into an Angular expression. This commit simply adds the `fullStart` location to the `ParseSourceSpan` class, and ensures that places where such spans are cloned, this property flows through too. PR Close #39486 | 05 November 2020, 15:58:34 UTC |
63f9e16 | Pete Bacon Darwin | 28 October 2020, 21:01:31 UTC | fix(compiler): ensure that i18n message-parts have the correct source-span (#39486) In an i18n message, two placeholders next to each other must have an "empty" message-part to separate them. Previously, the source-span for this message-part was pointing to the wrong original location. This caused problems in the generated source-maps and lead to extracted i18n messages from being rendered incorrectly. PR Close #39486 | 05 November 2020, 15:58:34 UTC |
d34e36c | George Vrettos | 04 November 2020, 19:49:29 UTC | docs: fix typo in the "Property Binding" guide (#39569) PR Close #39569 | 04 November 2020, 20:51:36 UTC |
de4f913 | Joey Perrott | 04 November 2020, 20:43:49 UTC | release: cut the v11.0.0-rc.2 release | 04 November 2020, 20:43:49 UTC |
96ad439 | Kristiyan Kostadinov | 04 November 2020, 19:42:10 UTC | test(compiler-cli): resolve test failure (#39568) Narrows down an assertion in one of our tests so it's less prone to failure due to extra commas. PR Close #39568 | 04 November 2020, 20:02:10 UTC |
6959620 | Aristeidis Bampakos | 04 November 2020, 11:24:25 UTC | docs: fix typos in the "Attribute Binding" guide (#39562) PR Close #39562 | 04 November 2020, 19:42:45 UTC |
43b4940 | Andrew Kushnir | 23 July 2020, 02:09:24 UTC | fix(forms): remove validators while cleaning up a control (#39234) Prior to this commit, the `cleanUpControl` function (responsible for cleaning up control instance) was not taking validators into account. As a result, these validators remain registered on a detached form control instance, thus causing memory leaks. This commit updates the `cleanUpControl` function logic to also run validators cleanup. As a part of this change, the logic to setup and cleanup validators was refactored and moved to separate functions (with completely opposite behavior), so that they can be reused in the future. This commit doesn't add the `cleanUpControl` calls to all possible places, it just fixes the cases where this function is being called, but doesn't fully perform a cleanup. The `cleanUpControl` function calls will be added to other parts of code (to avoid more memory leaks) in a followup PR. PR Close #39234 | 04 November 2020, 18:58:25 UTC |
e9889da | santoshyadavdev | 04 November 2020, 17:55:26 UTC | docs: correct the formatting (#39534) PR Close #39534 | 04 November 2020, 18:54:04 UTC |
450830c | Joey Perrott | 14 September 2020, 18:24:15 UTC | fix(dev-infra): run caretaker checks asyncronously (#39086) Run each check in the caretaker check process asyncronously. PR Close #39086 | 04 November 2020, 00:33:00 UTC |
7ef72d1 | GeopJr | 23 October 2020, 13:10:10 UTC | docs: fix Android 10 codename (#39399) Change Android 10's codename from "X" to "Q" PR Close #39399 | 04 November 2020, 00:10:57 UTC |
6817377 | Joey Perrott | 29 October 2020, 00:14:40 UTC | feat(dev-infra): provide tooling to check what branches a pr targets (#39504) Create a command in the `ng-dev` toolset that allows user's to check what branches a PR will merge into based on its targeting. PR Close #39504 | 03 November 2020, 22:55:25 UTC |
e8654f9 | George Kalpakas | 03 November 2020, 09:38:08 UTC | build(docs-infra): upgrade cli command docs sources to c8f3ce348 (#39546) Updating [angular#11.0.x](https://github.com/angular/angular/tree/11.0.x) from [cli-builds#11.0.x](https://github.com/angular/cli-builds/tree/11.0.x). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/d5c1851de...c8f3ce348): **Modified** - help/generate.json - help/new.json PR Close #39546 | 03 November 2020, 22:54:55 UTC |
b0bbc1f | Kristiyan Kostadinov | 01 November 2020, 11:33:52 UTC | fix(compiler-cli): generating invalid setClassMetadata call in ES5 for class with custom decorator (#39527) When a class with a custom decorator is transpiled to ES5, it looks something like this: ``` var SomeClass = (function() { function SomeClass() {...}; var SomeClass_1 = __decorate([Decorator()], SomeClass); SomeClass = SomeClass_1; return SomeClass; })(); ``` The problem is that if the class also has an Angular decorator that refers to the class itself (e.g. `{provide: someToken, useClass: SomeClass}`), the generated `setClassMetadata` code will be emitted after the IIFE, but will still refer to the intermediate `SomeClass_1` variable from inside the IIFE. This happens, because we generate the `setClassMetadata` call directly from the source AST which contains identifiers that TS will rename when it emits the ES5 code. These changes resolve the issue by looking through the metadata AST and cloning any `Identifier` that is referring to the class. Since TS doesn't have references to the clone, it won't rename it when transpiling to ES5. Fixes #39509. PR Close #39527 | 03 November 2020, 22:53:00 UTC |
b6064c2 | Joey Perrott | 29 October 2020, 22:43:44 UTC | fix(dev-infra): run fetches in the git client in quiet mode (#39503) When fetch is run in normal mode, the `git-fetch-pack` plumbing command outputs progress to stderr. Since this is unnecessary progress information for ng-dev usages, it should be suppressed instead. PR Close #39503 | 03 November 2020, 00:41:48 UTC |
e34c87e | Joey Perrott | 02 November 2020, 18:06:31 UTC | ci: only check testing directories within packages/ for fw-testing (#39536) The fw-testing group should only match on testing directories within the framework packages, previously it was also matching in other areas of the codebase. PR Close #39536 | 03 November 2020, 00:39:45 UTC |
a0b6548 | Pete Bacon Darwin | 02 November 2020, 17:54:24 UTC | build(docs-infra): ensure that deployment works on CI (#39535) The actual "main" part of the script that is executed was using an uninitialized variable. This is fixed and a test is added to check. PR Close #39535 | 02 November 2020, 20:24:36 UTC |
40f38ce | Eduard Bondarenko | 31 October 2020, 11:06:49 UTC | docs: update forwardRef example (#39519) Replace the deprecated api ReflectiveInjector.resolveAndCreat with Injector.create PR Close #39519 | 02 November 2020, 19:40:18 UTC |
d386fb3 | George Kalpakas | 28 October 2020, 19:51:17 UTC | build(docs-infra): upgrade `firebase-tools` to v8.14.1 (#39470) This commit upgrades `firebase-tools` (used to deploy angular.io to Firebase hosting) to the latest version. This gives us access to the latest fixes/improvements and also new features, such as [version cloning][1]. [1]: https://firebase.google.com/docs/hosting/manage-hosting-resources#cli-commands-cloning PR Close #39470 | 02 November 2020, 15:57:54 UTC |
f868dcb | George Kalpakas | 28 October 2020, 18:51:08 UTC | build(docs-infra): deploy angular.io to new Firebase sites (#39470) Previously, the documentation for each major Angular version was hosted on each own Firebase project. This required creating a new project for each major release and increased the administrative/maintenance cost. Now that Firebase supports hosting [multiple websites][1] as part of the same project, we are switching to deploying all major versions to sites created on `angular-io` project. This is part of the work needed to prepare angular.io for our [new versioning/branching process][2] (also tracked in #39366). [1]: https://firebase.google.com/docs/hosting/multisites [2]: https://docs.google.com/document/d/197kVillDwx-RZtSVOBtPb4BBIAw0E9RT3q3v6DZkykU PR Close #39470 | 02 November 2020, 15:57:54 UTC |
ad4f0fd | George Kalpakas | 28 October 2020, 10:23:58 UTC | refactor(docs-infra): break up `deploy-to-firebase.js` script into functions (#39470) This commit breaks up the code in `deploy-to-firebase.js` script, that we use for deploying angular.io to production, to smaller functions (instead of a monolithic block). This makes the script easier to maintain and also makes testing individual operations easier. The commit also updates the `deploy-to-firebase.spec.js` spec file to take advantage of the standalone functions to speed up testing by calling the corresponding function instead of having to spawn a new process and run the `deploy-to-firebase.js` script with the `--dry-run` flag. NOTE: Before updating the tests, I verified that the updated `deploy-to-firebase.js` script passed the old tests. PR Close #39470 | 02 November 2020, 15:57:54 UTC |
8d0c1bd | George Kalpakas | 28 October 2020, 10:23:57 UTC | build(docs-infra): add support for RC deployments to deployment script (#39470) This commit updates the angular.io deployment script (`deploy-to-firebase.js`) to support deploying release-candidate versions. This is part of the work needed to prepare angular.io for our [new versioning/branching process][1] (also tracked in #39366). [1]: https://docs.google.com/document/d/197kVillDwx-RZtSVOBtPb4BBIAw0E9RT3q3v6DZkykU PR Close #39470 | 02 November 2020, 15:57:54 UTC |
47244db | George Kalpakas | 28 October 2020, 10:23:56 UTC | build(docs-infra): add new angular.io build configuration for release-candidates (#39470) This commit adds a new build configuration/deployment mode (`rc`) for deploying release-candidate versions to angular.io. This is part of the work needed to prepare angular.io for our [new versioning/branching process][1] (also tracked in #39366). [1]: https://docs.google.com/document/d/197kVillDwx-RZtSVOBtPb4BBIAw0E9RT3q3v6DZkykU PR Close #39470 | 02 November 2020, 15:57:54 UTC |
e5caf11 | George Kalpakas | 28 October 2020, 14:17:50 UTC | refactor(docs-infra): use Sass mixin to simplify the creation of deployment mode themes (#39470) Different deployment modes (such as `archive` and `next`) are identified by the different colors used in prominent elements of the page, such as the topbar and the footer. Previously, the necessary styles for creating such a deployment mode "theme" were duplicated for each mode. This commit simplifies the creation/modification of a deployment mode theme by introducing a Sass mixin that generates the necessary styles (when provided with necessary theme colors). PR Close #39470 | 02 November 2020, 15:57:54 UTC |
37128ca | George Kalpakas | 28 October 2020, 13:03:41 UTC | test(docs-infra): ensure `deploy-to-firebase` tests pass locally (#39470) Previously, the `deploy-to-firebase.js` script and the accompanying `deploy-to-firebase.spec.js` spec file were using the `origin` remote alias in certain commands. This works fine on CI, where `origin` points to the `angular/angular` GitHub repo, but might not work locally. This commit ensures that the correct remote is used by explicitly specifying it by the URL, thus ensuring that the tests will behave identically on CI and locally. PR Close #39470 | 02 November 2020, 15:57:53 UTC |
ce14f37 | George Kalpakas | 28 October 2020, 10:23:51 UTC | build(docs-infra): switch `deploy-to-firebase.sh` script to JS (#39470) This commit switches the `deploy-to-firebase.sh` script, that we use for deploying angular.io to production, from Bash to JavaScript. This makes the script easier to maintain. For the same reasons, it also switches the `deploy-to-firebase.test.sh` script, that we use for testing the `deploy-to-firebase` script, from Bash to JavaScript (using jasmine as the test runner). Finally, this commit also updates ShellJS to the latest version to get better error messages (including the actual error) when `exec()` fails. NOTE: Before switching the test script to JS, I verified that the new `deploy-to-firebase.js` script passed the tests with the old `deploy-to-firebase.test.sh` script. PR Close #39470 | 02 November 2020, 15:57:53 UTC |
5c13c67 | JoostK | 30 October 2020, 19:31:47 UTC | perf(core): do not recurse into modules that have already been registered (#39514) When registering an NgModule based on its id, all transitively imported NgModules are also registered. This commit introduces a visited set to avoid traversing into NgModules that are reachable from multiple import paths multiple times. Fixes #39487 PR Close #39514 | 02 November 2020, 15:51:19 UTC |
8356522 | JoostK | 17 October 2020, 18:54:06 UTC | test(compiler-cli): remove spurious `console.error` call from a test (#39321) Reporting the source file text to the console was left as a debugging artifact. PR Close #39321 | 02 November 2020, 15:50:41 UTC |
1ac0500 | JoostK | 17 October 2020, 18:52:26 UTC | perf(compiler-cli): only generate template context declaration when used (#39321) The variable declaration for a template context is only needed when it is referenced from somewhere, so the TCB operation to generate the declaration is marked as optional. PR Close #39321 | 02 November 2020, 15:50:41 UTC |
67ea7b6 | JoostK | 17 October 2020, 18:27:24 UTC | fix(compiler-cli): report missing pipes when `fullTemplateTypeCheck` is disabled (#39320) Even if `fullTemplateTypeCheck` is disabled should missing pipes still be reported, as was the case in View Engine. Fixes #38195 PR Close #39320 | 31 October 2020, 01:01:52 UTC |
b2f3952 | Andrew Scott | 27 October 2020, 03:38:28 UTC | fix(router): Ensure all outlets are used when commands have a prefix (#39456) When there is a primary outlet present in the outlets map and the object is also prefixed with some other commands, the current logic only uses the primary outlet and ignores the others. This change ensures that all outlets are respected at the segment level when prefixed with other commands. PR Close #39456 | 30 October 2020, 23:23:05 UTC |
3abf95d | Andrew Scott | 27 October 2020, 02:10:16 UTC | refactor(router): Small refactor of createUrlTree and extra tests (#39456) This commit has a small refactor of some methods in create_url_tree.ts and adds some test cases, including two that will fail at the moment but should pass. A follow-up commit will make use of the refactorings to fix the test with minimal changes. PR Close #39456 | 30 October 2020, 23:23:04 UTC |
eb625b9 | Alan Agius | 26 October 2020, 13:25:12 UTC | docs: update CLI workspace config documentation (#39427) - Improves JSON formatting - Add reference to font optimization - Removes `="true"` from boolean command line args. These are redundant and it can be confusing to why boolean values need to be provided via a CLI. PR Close #39427 | 30 October 2020, 19:39:30 UTC |
a8e0db7 | Kristiyan Kostadinov | 18 October 2020, 15:41:29 UTC | fix(compiler): preserve this.$event and this.$any accesses in expressions (#39323) Currently expressions `$event.foo()` and `this.$event.foo()`, as well as `$any(foo)` and `this.$any(foo)`, are treated as the same expression by the compiler, because `this` is considered the same implicit receiver as when the receiver is omitted. This introduces the following issues: 1. Any time something called `$any` is used, it'll be stripped away, leaving only the first parameter. 2. If something called `$event` is used anywhere in a template, it'll be preserved as `$event`, rather than being rewritten to `ctx.$event`, causing the value to undefined at runtime. This applies to listener, property and text bindings. These changes resolve the first issue and part of the second one by preserving anything that is accessed through `this`, even if it's one of the "special" ones like `$any` or `$event`. Furthermore, these changes only expose the `$event` global variable inside event listeners, whereas previously it was available everywhere. Fixes #30278. PR Close #39323 | 30 October 2020, 17:49:15 UTC |
feda78e | Andrew Kushnir | 29 October 2020, 18:32:26 UTC | fix(common): change the week-numbering year format from `r` -> `Y` (#39495) This commit updates the week-numbering year format from `r` -> `Y` based on the description in http://www.unicode.org/reports/tr35/tr35-dates.html#dfst-year. Note: this is not a breaking change, since the week-numbering year format was introduced in v11.0.0-next.3 (https://github.com/angular/angular/commit/984ed39195d8291f0da0c2747a45761144e6daa2) and the major version that contains that change was not released yet. PR Close #39495 | 30 October 2020, 17:24:44 UTC |
3091534 | Andrew Kushnir | 29 October 2020, 20:00:32 UTC | docs: tView.preOrderHooks and tView.preOrderCheckHooks docs update (#39497) This commit updates the docs for the `tView.preOrderHooks` and `tView.preOrderCheckHooks` TView fields. Current docs are not up-to-date as it was pointed out in #39439. Closes #39439. PR Close #39497 | 29 October 2020, 23:25:40 UTC |
669c4f7 | Kristiyan Kostadinov | 29 October 2020, 19:52:15 UTC | refactor(compiler): clean up i18n attribute generation logic (#39498) This is follow-up from [an earlier discussion](https://github.com/angular/angular/pull/39408#discussion_r511908358). After some testing, it looks like the type of `Element.attributes` was correct in specifying that it only has `TextAttribute` instances. This means that the extra checks that filter out `BoundAttribute` instances from the array isn't necessary. There is another loop a bit further down that actually extracts the bound i18n attributes. PR Close #39498 | 29 October 2020, 23:07:50 UTC |
3b6497b | JiaLiPassion | 17 October 2020, 13:56:09 UTC | fix(core): markDirty() should only mark flags when really scheduling tick. (#39316) Close #39296 Fix an issue that `markDirty()` will not trigger change detection. The case is for example we have the following component. ``` export class AppComponent implements OnInit { constructor(private router: Router) {} ngOnInit() { this.router.events .pipe(filter((e) => e instanceof NavigationEnd)) .subscribe(() => ɵmarkDirty(this)); } } export class CounterComponent implements OnInit, OnDestroy { ngOnInit() { this.countSubject.pipe(takeUntil(this.destroy)).subscribe((count) => { this.count = count; ɵmarkDirty(this); }); } ``` Then the app navigate from `AppComponent` to `CounterComponent`, so there are 2 `markDirty()` call at in a row. The `1st` call is from `AppComponent` when router changed, the `2nd` call is from `CounterComponent.ngOnInit()`. And the `markDirty()->scheduleTick()` code look like this ``` function scheduleTick(rootContext, flags) { const nothingScheduled = rootContext.flags === 0 /* Empty */; rootContext.flags |= flags; if (nothingScheduled && rootContext.clean == _CLEAN_PROMISE) { rootContext.schedule(() => { ... if (rootContext.flags & RootContextFlags.DetectChanges) rootContext.flags &= ~RootContextFlags.DetectChanges; tickContext(); rootContext.clean = _CLEAN_PROMISE; ... }); ``` So in this case, the `1st` markDirty() will 1. set rootContext.flags = 1 2. before `tickContext()`, reset rootContext.flags = 0 3. inside `tickContext()`, it will call `CounterComponent.ngOnint()`, so the `2nd` markDirty() is called. 4. and the `2nd` scheduleTick is called, `nothingScheduled` is true, but rootContext.clean is not `_CLEAN_PROMISE` yet, since the `1st` markDirty tick is still running. 5. So nowhere will reset the `rootContext.flags`. 6. then in the future, any other `markDirty()` call will not trigger the tick, since `nothingScheduled` is always false. So `nothingScheduled` means no tick is scheduled, `rootContext.clean === _CLEAN_PROMISE` means no tick is running. So we should set the flags to `rootContext` only when `no tick is scheudled or running`. PR Close #39316 | 29 October 2020, 23:07:11 UTC |
0e60dc5 | JiaLiPassion | 27 October 2020, 01:25:52 UTC | release: cut the zone.js-0.11.3 release (#39440) PR Close #39440 | 29 October 2020, 22:40:29 UTC |
e45da28 | Igor Minar | 29 October 2020, 18:14:33 UTC | build: update to CLI 11.0.0-rc.1 (#39432) This release fixed the previously found size regressions. PR Close #39432 | 29 October 2020, 20:47:12 UTC |
5bb5069 | Igor Minar | 26 October 2020, 17:11:04 UTC | build: update to @angular/cli@11.0.0-rc.0 (#39432) This updates just the cli packages, the material and cdk packages will be updated separately. PR Close #39432 | 29 October 2020, 20:47:12 UTC |
ec416d0 | Andrew Kushnir | 29 October 2020, 18:21:39 UTC | ci: update NgBot config to include more labels that indicate that ticket is triaged (#39494) This commit updates the config of NgBot to treat tickets that have "needs clarification" or "needs reproduction" labels on them as triaged. PR Close #39494 | 29 October 2020, 19:25:48 UTC |
e7f262d | Michael Ziluck | 29 October 2020, 16:59:58 UTC | docs(forms): update ngModel documentation (#39481) This commit improves the ngModel docs, specifically: - clarifies purpose of the name attribute in ngModelOptions - clarifies on the interaction with a parent form or lack thereof - fix inconsistency with analogy for two-way binding - cleans up some typos and extra wordiness - clarifies language around common properties - adds missing preposition to commit message format origins PR Close #39481 | 29 October 2020, 18:18:55 UTC |
8ea0ee9 | Joey Perrott | 28 October 2020, 17:47:22 UTC | fix(dev-infra): update generated ng-dev compiled output (#39474) Update to the new ng-dev generated script. PR Close #39474 | 29 October 2020, 16:55:28 UTC |
6f2b69d | Joey Perrott | 28 October 2020, 17:22:15 UTC | fix(dev-infra): clean up output of `caretaker check` command (#39474) Suppress the logging of the git command executed during the caretaker check process. PR Close #39474 | 29 October 2020, 16:55:28 UTC |
89835fe | Joey Perrott | 28 October 2020, 17:07:48 UTC | feat(dev-infra): allow suppression of `GitClient`s verbose logging (#39474) Some usages of the `GitClient` are better served by suppressing the logging of lines that express what commands are being run. Many usages of `GitClient` are contained within tools which are best served by keeping the output clean as mostly read actions are occurring. PR Close #39474 | 29 October 2020, 16:55:28 UTC |
b0e114e | Joey Perrott | 28 October 2020, 17:20:15 UTC | build: create yarn command for running local version of ng-dev (#39474) For better development experience of the dev-infra work, the `ng-dev:dev` command runs the transpiled version of `ng-dev` making iterative development easier. PR Close #39474 | 29 October 2020, 16:55:27 UTC |
eccf9d6 | Shadab Ansari | 28 October 2020, 20:21:09 UTC | docs: Match browser name with custom launcher name (#39480) The browser being launched needs to match the custom launcher name. Otherwise Karma would still trigger the original Chrome executable without the flags. PR Close #39480 | 29 October 2020, 15:39:15 UTC |
b8c71c4 | Alan Agius | 21 October 2020, 06:50:48 UTC | docs: rename `ng xi18n` to `ng extract-i18n` (#39337) In Angular CLI version 11, xi18n has been changed from `ng xi18n` to `ng extract-i18n`. PR Close #39337 | 28 October 2020, 21:42:27 UTC |
daab797 | Kapunahele Wong | 21 June 2019, 19:31:19 UTC | docs: move template ref vars doc to concepts section clarify, add scope section, and update headers (#31195) Fixes #31186. This commit adds more context about the behavior of template reference variables in nested templates and moves doc into concepts section. PR Close #31195 | 28 October 2020, 21:41:45 UTC |
7c52fc6 | David Shevitz | 16 October 2020, 19:50:28 UTC | docs: archive user-input topic (#39309) PR Close #39309 | 28 October 2020, 21:41:09 UTC |
bf05c97 | Alex Rickabaugh | 28 October 2020, 21:03:23 UTC | release: cut the v11.0.0-rc.1 release | 28 October 2020, 21:03:23 UTC |
ddc070e | Jessica Janiuk | 28 October 2020, 17:05:57 UTC | docs(core): add jessicajaniuk to pullapprove list (#39473) This just adds jessicajessica to the pullapprove.yml file PR Close #39473 | 28 October 2020, 18:14:50 UTC |
d746804 | Thibaut ACKERMANN | 28 October 2020, 13:35:59 UTC | docs(router): Fix ActivationEnd link (#39469) ActivationEnd goes to ActivationEnd and not to ActivationStart section PR Close #39469 | 28 October 2020, 18:06:06 UTC |
17fe000 | JiaLiPassion | 27 October 2020, 01:29:01 UTC | docs(zone.js): update release doc (#39442) In the current release doc, we are using some shortcut of `git` command such as `git ci` `git co`, so in this PR we are updating them to the normal command, so these commands will work event without these shortcuts. PR Close #39442 | 28 October 2020, 17:59:49 UTC |
3870d5e | Joey Perrott | 26 October 2020, 16:51:29 UTC | build: add PullApprove: disable as a caretaker note label (#39430) Add the label `PullApprove: disable` as a caretaker note label to prompt caretakers to confirm that the PullApprove disabling is intentional. PR Close #39430 | 28 October 2020, 17:59:11 UTC |
112f7e9 | Joey Perrott | 26 October 2020, 16:47:49 UTC | ci: allow for disabling PullApprove on a single PR via adding a label (#39430) Alowing for disabling PullApprove on a single PR via adding a label allows for an escape hatch if PullApprove is not acting as expected, or for cases where reviews can be stepped over in obvious situations, such as a revert. PR Close #39430 | 28 October 2020, 17:59:11 UTC |
2bc8b80 | Deborah Kurata | 24 October 2020, 00:52:32 UTC | docs: Correct a few typographical errors. (#39405) PR Close #39405 | 28 October 2020, 17:58:27 UTC |
65d1ed3 | Aristeidis Bampakos | 23 October 2020, 13:27:29 UTC | docs: update Learning Angular book edition (#39400) Update the resource Learning Angular book into the third edition PR Close #39400 | 28 October 2020, 17:57:43 UTC |
75110f7 | Oliver Schlegel | 12 October 2020, 05:32:14 UTC | docs: Fix typo in changelog (#39223) PR Close #39223 | 28 October 2020, 17:56:20 UTC |
2632510 | Gustav Bylund | 02 October 2020, 10:35:47 UTC | docs: fix links to Material examples (#39093) Also uses fixed git hashes so the line numbers won't get outdated in the future PR Close #39093 | 28 October 2020, 17:53:17 UTC |
f61ac8a | Carlos Caballero | 09 October 2020, 14:50:24 UTC | docs: add carlos caballero to GDE resources (#37976) PR Close #37976 | 28 October 2020, 17:52:35 UTC |
366be11 | twerske | 26 October 2020, 22:45:31 UTC | refactor(core): add top 10 runtime error codes (#39188) adds RuntimeError and code enum to improve debugging experience refactor ExpressionChangedAfterItHasBeenCheckedError to code NG0100 refactor CyclicDependency to code NG0200 refactor No Provider to code NG0201 refactor MultipleComponentsMatch to code NG0300 refactor ExportNotFound to code NG0301 refactor PipeNotFound to code NG0302 refactor BindingNotKnown to code NG0303 refactor NotKnownElement to code NG0304 PR Close #39188 | 28 October 2020, 17:05:02 UTC |
899218d | Andrew Kushnir | 28 July 2020, 02:31:40 UTC | refactor(forms): move common validators-related logic to the `AbstractControlDirective` class (#38280) This commit refactors validators-related logic that is common across most of the directives. A couple notes on this refactoring: * common logic was moved to the `AbstractControlDirective` class (including `validator` and `asyncValidator` getters) * sync/async validators are now composed in `AbstractControlDirective` class eagerly when validators are set with `_setValidators` and `_setAsyncValidators` calls and the result is stored in directive instance (thus getters return cached versions of validator fn). This is needed to make sure composed validator function remains the same (retains its identity) for a given directive instance, so that this function can be added and later removed from an instance of an AbstractControl-based class (like `FormControl`). Preserving validator function is required to perform proper cleanup (in followup PRs) of the AbstractControl-based classes when a directive is destroyed. PR Close #38280 | 28 October 2020, 16:48:21 UTC |
399f491 | Joey Perrott | 27 October 2020, 21:41:06 UTC | ci: bust cache of stored node_modules on CircleCI (#39461) Update the cache keys used on CircleCI to bust the cache used in attempt to address issue with tests on aio that are not reproducable locally. Note: Going back to v1 as the cache version as caches are only held for 15 days so we can safely return back to `v1` as the prefix PR Close #39461 | 27 October 2020, 21:53:10 UTC |
910fa51 | Nhan Nguyen | 27 October 2020, 17:56:29 UTC | docs: add install Firebase CLI step before using its commands (#39079) PR Close #39079 | 27 October 2020, 21:29:06 UTC |
f184578 | JiaLiPassion | 26 October 2020, 03:17:14 UTC | docs(core): update a typo in the comment of ngZoneEventCoalescing (#39423) PR Close #39423 | 27 October 2020, 21:27:16 UTC |
d76beda | ayazhafiz | 24 October 2020, 17:50:00 UTC | fix(compiler): do not throw away render3 AST on errors (#39413) Currently render3's `parseTemplate` throws away the parsed AST and returns an empty list of HTML nodes if HTML->R3 translation failed. This is not preferrable in some contexts like that of a language service, where we would like a well-formed AST even if it is has errors. PR Close #39413 | 27 October 2020, 20:37:20 UTC |
72e0c6b | Pete Bacon Darwin | 26 October 2020, 21:12:56 UTC | Revert "perf(ngcc): allow immediately reporting a stale lock file (#37250)" (#39435) This reverts commit 561c0f81a0d62b84fa47a98226eeb85eda864ffd. The original commit provided a quick escape from an already terminal situation by killing the process if the PID in the lockfile was not found in the list of processes running on the current machine. But this broke use-cases where the node_modules was being shared between multiple machines (or more commonly Docker containers on the same actual machine). Fixes #38875 PR Close #39435 | 27 October 2020, 20:36:28 UTC |
bf1caa7 | Kristiyan Kostadinov | 24 October 2020, 11:16:11 UTC | fix(compiler): treat i18n attributes with no bindings as static attributes (#39408) Currently `i18n` attributes are treated the same no matter if they have data bindings or not. This both generates more code since they have to go through the `ɵɵi18nAttributes` instruction and prevents the translated attributes from being injected using the `@Attribute` decorator. These changes makes it so that static translated attributes are treated in the same way as regular static attributes and all other `i18n` attributes go through the old code path. Fixes #38231. PR Close #39408 | 27 October 2020, 20:31:30 UTC |
4b26a05 | pmartijena | 16 September 2020, 14:38:10 UTC | docs: fix grammatical errors and typos (#38868) Fixed run on sentences, grammatical errors, and made "ivy" "Ivy" everywhere for consistency. PR Close #38868 | 27 October 2020, 20:18:02 UTC |
70daf10 | Alex Rickabaugh | 09 October 2020, 20:41:52 UTC | refactor(compiler-cli): API to get directives/pipes in scope (#39278) This commit introduces two new methods to the TemplateTypeChecker, which retrieve the directives and pipes that are "in scope" for a given component template. The metadata returned by this API is minimal, but enough to power autocompletion of selectors and attributes in templates. PR Close #39278 | 27 October 2020, 20:17:14 UTC |
1bfc44d | Alex Rickabaugh | 08 October 2020, 21:25:51 UTC | refactor(compiler-cli): cache Symbols in the TemplateTypeCheckerImpl (#39278) This commit introduces caching of `Symbol`s produced by the template type- checking infrastructure, in the same way that autocompletion results are now cached. PR Close #39278 | 27 October 2020, 20:17:14 UTC |
2a0a287 | Alex Rickabaugh | 08 October 2020, 19:56:05 UTC | refactor(compiler-cli): move global completion into new CompletionEngine (#39278) This commit refactors the previously introduced `getGlobalCompletions()` API for the template type-checker in a couple ways: * The return type is adjusted to use a `Map` instead of an array, and separate out the component context completion position. This allows for a cleaner integration in the language service. * A new `CompletionEngine` class is introduced which powers autocompletion for a single component, and can cache completion results. * The `CompletionEngine` for each component is itself cached on the `TemplateTypeCheckerImpl` and is invalidated when the component template is overridden or reset. This refactoring simplifies the `TemplateTypeCheckerImpl` class by extracting the autocompletion logic, enables caching for better performance, and prepares for the introduction of other autocompletion APIs. PR Close #39278 | 27 October 2020, 20:17:14 UTC |
523a451 | Joey Perrott | 22 October 2020, 15:58:59 UTC | build: add husky ignored files to .gitignore (#39388) Ahead of upgrading to husky v5, adding the shell file location to .gitignore to prevent it from randomly showing up when devs checkout older branches. Beginning in v5, husky places its shell files in a directory at `.husky/_` so these are placed in the .gitignore to prevent being commited or tracked. PR Close #39388 | 27 October 2020, 18:07:22 UTC |
13063c4 | Alan Agius | 27 October 2020, 13:22:31 UTC | ci: add alan-agius4 to docs-cli in pullapprove configuration (#39448) Add alan-agius4 to `docs-cli` group in pullapprove configuration. PR Close #39448 | 27 October 2020, 17:49:09 UTC |
89c6d10 | George Kalpakas | 27 October 2020, 09:48:25 UTC | build(docs-infra): upgrade cli command docs sources to d5c1851de (#39446) Updating [angular#11.0.x](https://github.com/angular/angular/tree/11.0.x) from [cli-builds#11.0.x](https://github.com/angular/cli-builds/tree/11.0.x). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/deec40756...d5c1851de): **Modified** - help/build.json ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/deec40756...d5c1851de) since PR #39407: **Modified** - help/build.json ## Closes #39407 PR Close #39446 | 27 October 2020, 17:48:31 UTC |
6c79598 | imkikus | 27 October 2020, 04:23:37 UTC | docs: fix more typos in component overview (#39445) PR Close #39445 | 27 October 2020, 17:47:36 UTC |
65abf7e | AleksanderBodurri | 27 October 2020, 00:18:06 UTC | docs: fix typo in initializeInputAndOutputAliases docstring (#39438) PR Close #39438 | 27 October 2020, 17:46:38 UTC |
d1840ee | Andrew Kushnir | 25 October 2020, 05:26:23 UTC | refactor(core): remove expandoStartIndex workaround (#39416) This commit removes a workaround to calculate the `expandoStartIndex` value. That workaround was needed because the `expandoStartIndex` was updated previously, so it pointed at the wrong location. The problem was fixed in PR #39301 and the workaround is no longer needed. PR Close #39416 | 27 October 2020, 17:45:53 UTC |
cc32932 | JoostK | 24 October 2020, 22:19:58 UTC | fix(core): do not error when `ngDevMode` is undeclared (#39415) In production mode, the `ngDevMode` global may not have been declared. This is typically not a problem, as optimizers should have removed all usages of the `ngDevMode` variables. This does however require the bundler/optimizer to have been configured in a certain way, as to allow for `ngDevMode` guarded code to be removed. As an example, Terser can be configured to remove the `ngDevMode` guarded code using the following configuration: ```js const terserOptions = { // ... compress: { // ... global_defs: require('@angular/compiler-cli').GLOBAL_DEFS_FOR_TERSER, } } ``` (Taken from https://github.com/angular/angular/issues/31595#issuecomment-519129090) If this is not done, however, the bundle should still work (albeit with larger code size due to missed tree-shaking opportunities). This commit adds a check for whether `ngDevMode` has been declared, as it is a top-level statement that executes before `ngDevMode` has been initialized. Fixes #31595 PR Close #39415 | 27 October 2020, 17:45:19 UTC |
32163ef | Pete Bacon Darwin | 23 October 2020, 12:32:36 UTC | fix(localize): render placeholder types in extracted XLIFF files (#39398) The previous ViewEngine extraction tooling added `ctype` and `type` attributes to XLIFF 1.2 and 2.0 translation files, respectively. This commit adds this to the new $localize based extraction tooling. Since the new extraction tooling works from the compiled output rather than having direct access to the template content, the placeholder types must be inferred from the name of the placeholder. This is considered reasonable, since it already does this to compute opening and closing tag placeholders. Fixes #38791 PR Close #39398 | 27 October 2020, 17:42:16 UTC |
97b4653 | Andrew Kushnir | 07 October 2020, 23:21:36 UTC | refactor(core): remove unused i18n placeholder for projection (#39172) Runtime i18n logic doesn't distinguish `<ng-content>` tag placeholders and regular element tag placeholders in i18n messages, so there is no need to have a special marker for projection-based placeholders and element markers can be used instead. PR Close #39172 | 27 October 2020, 17:39:38 UTC |