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/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.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/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
- 1472515d683b25bc095fc8d5e7edffb634d65d12
- Branches list truncated to 1000 entries, 231 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 |
---|---|---|---|---|
1472515 | Alex Rickabaugh | 02 August 2023, 20:12:49 UTC | release: cut the v16.2.0-rc.0 release | 02 August 2023, 20:20:39 UTC |
9d88cd8 | Alex Rickabaugh | 02 August 2023, 19:46:05 UTC | docs: release notes for the v16.1.8 release | 02 August 2023, 19:55:00 UTC |
2d52d5e | Miles Malerba | 19 July 2023, 05:59:29 UTC | refactor(compiler): support safe function calls (#51100) Adds support for safe function calls in template pipeline compiler PR Close #51100 | 01 August 2023, 20:45:34 UTC |
42caeee | Miles Malerba | 16 July 2023, 16:40:30 UTC | refactor(compiler): reuse temp vars when possible (#51100) Updates the template pipeline's temporary variables phase to reuse temporary variables within an expression. The algorithm implemented here reuses variables more aggressively than TemplateDefinitionBuilder. This change in behavior is acceptable, as it is unlikely to cause any failures, and implementing the exact behavior observed in TemplateDefinitionBuilder would be difficult. PR Close #51100 | 01 August 2023, 20:45:34 UTC |
b8ec182 | Miles Malerba | 18 July 2023, 23:43:41 UTC | test(compiler): allow alternate expected file for template pipeline (#51100) In some cases it is not feasible to have the template pipeline produce the exact same compiled output as the TemplateDefinitionBuilder. This commit adds support to the testing infrastructure to have different expected output files for each. This option should be used sparingly, as we want the output to be as close as possible. PR Close #51100 | 01 August 2023, 20:45:34 UTC |
e53d4ec | Gerald Monaco | 07 June 2023, 22:21:55 UTC | feat(core): add afterRender and afterNextRender (#50607) Add and expose the after*Render functions as developer preview PR Close #50607 | 01 August 2023, 20:02:27 UTC |
8913d3e | Matthieu Riegler | 01 August 2023, 10:03:05 UTC | docs: fix warning about an unknown decorator (#51237) dgeni was complaning about an unknown decorator (`@Input`) PR Close #51237 | 01 August 2023, 20:00:53 UTC |
d86e637 | aanchal | 01 August 2023, 09:03:18 UTC | docs: add lang attribute to html files (#51235) PR Close #51235 | 01 August 2023, 19:16:44 UTC |
388d1db | aanchal | 01 August 2023, 08:55:18 UTC | docs: add the title tag (#51233) PR Close #51233 | 01 August 2023, 19:15:11 UTC |
4602545 | Matthieu Riegler | 31 July 2023, 20:56:26 UTC | refactor(core): remove useless hack (#51224) This hack is remnant of the Ivy migration. PR Close #51224 | 01 August 2023, 19:12:52 UTC |
d81d125 | Matthieu Riegler | 31 July 2023, 20:38:11 UTC | refactor(core): Remove dead unit test code (#51223) This code is duplicated but unused. PR Close #51223 | 01 August 2023, 19:10:57 UTC |
9d59764 | Matthieu Riegler | 31 July 2023, 18:08:11 UTC | refactor(core): createInjector is a private function (#51221) `createInjector` is not public. PR Close #51221 | 01 August 2023, 19:10:20 UTC |
737ed23 | Matthieu Riegler | 31 July 2023, 12:42:11 UTC | refactor(core): removing reflect-metadata from symbol tests. (#51217) We were not reyling on it anymore. PR Close #51217 | 01 August 2023, 19:09:25 UTC |
a871e23 | Matthieu Riegler | 31 July 2023, 11:39:06 UTC | docs: remove duplicate words. (#51215) Using the `\b(\w+)\s+\1\b` we can find duplicate word. Let's remove them. PR Close #51215 | 01 August 2023, 19:08:33 UTC |
2274d15 | aanchal | 30 July 2023, 09:51:54 UTC | docs: updated the doc files (#51204) PR Close #51204 | 01 August 2023, 19:07:21 UTC |
a248307 | aanchal | 29 July 2023, 10:40:44 UTC | docs: fix typos (#51201) PR Close #51201 | 01 August 2023, 19:04:31 UTC |
6691c49 | aanchal | 29 July 2023, 10:37:29 UTC | docs: add lang attributes to the files (#51200) PR Close #51200 | 01 August 2023, 18:58:44 UTC |
584a32d | aanchal | 29 July 2023, 10:14:07 UTC | docs: add the title tag (#51199) PR Close #51199 | 01 August 2023, 18:54:36 UTC |
63b7f52 | aanchal | 29 July 2023, 10:06:42 UTC | docs: update the html tags (#51198) PR Close #51198 | 01 August 2023, 18:53:30 UTC |
5c6d1bb | Aristeidis Bampakos | 29 July 2023, 09:23:56 UTC | docs: fix typos in component overview guide (#51197) PR Close #51197 | 01 August 2023, 18:53:00 UTC |
71e803a | Aristeidis Bampakos | 27 July 2023, 13:45:03 UTC | docs: add new edition of Angular Projects book (#51184) PR Close #51184 | 01 August 2023, 18:51:49 UTC |
efb486e | Andrew Kushnir | 25 July 2023, 01:50:38 UTC | refactor(compiler): handle defer blocks in TemplateDefinitionBuilder (#51162) Updates the TemplateDefinitionBuilder class to generate the `defer` instruction for `{#defer}` blocks. Also generates dependency function that would be invoked at runtime (with dynamic imports inside). PR Close #51162 | 01 August 2023, 18:50:05 UTC |
08992a5 | Andrew Kushnir | 25 July 2023, 01:09:09 UTC | refactor(compiler): compute the list of dependencies for defer blocks (#51162) This commit brings the logic to calculate teh set of dependencies for each defer block. For each dependency we also identify whether it can be defer-loaded or not. PR Close #51162 | 01 August 2023, 18:50:05 UTC |
f5116e7 | Andrew Kushnir | 25 July 2023, 00:20:09 UTC | refactor(compiler): extracting helper function and types to the top level (#51162) This is a minor refactoring of the ComponentHandler class logic to extract helper function and types to the top level for simplicity and reuse across other functions of the class. PR Close #51162 | 01 August 2023, 18:50:05 UTC |
553cbae | Andrew Kushnir | 25 July 2023, 00:06:59 UTC | refactor(compiler): update TemplateBinder and DirectiveBinder to work with defer blocks (#51162) This commit updates the logic of the TemplateBinder and DirectiveBinder classes to recognize defer blocks. The logic is updated to prevent Directive and Pipe matching inside the defer block. Instead, the scope for those blocks would be calculated separately. PR Close #51162 | 01 August 2023, 18:50:04 UTC |
256e682 | Andrew Kushnir | 24 July 2023, 23:00:50 UTC | refactor(compiler): add DeferredSymbolTracker class to keep track of symbol usages (#51162) This commit adds a new class called `DeferredSymbolTracker` to keep track of all usages of a particular symbol within a source file and allow to detect whether a symbol can be defer loaded (i.e. if there are any references to a symbol). PR Close #51162 | 01 August 2023, 18:50:04 UTC |
4d8cc70 | Angular Robot | 22 July 2023, 01:31:33 UTC | build: update io_bazel_rules_sass digest to ded821e (#51139) See associated pull request for more information. PR Close #51139 | 01 August 2023, 18:49:06 UTC |
c1dee4c | AleksanderBodurri | 02 June 2023, 00:34:35 UTC | test(core): unit tests for the injector profiler and injector debugging APIs (#48639) Creates unit tests for the following APIs - setInjectorProfiler - getInjectorProviders - getInjectorResolutionPath - getDependenciesFromInjectable Modifies existing tests in - packages/examples/core/di/ts/injector_spec.ts - packages/core/test/render3/jit/declare_injectable_spec.ts - packages/core/test/render3/jit/declare_factory_spec.ts because they setup framework injector context manually. Exports setInjectorProfilerContext in packages/core/src/core_private_export.ts in order for use in the the modified tests above. PR Close #48639 | 01 August 2023, 18:44:40 UTC |
98d262f | AleksanderBodurri | 22 May 2023, 18:51:36 UTC | feat(core): create injector debugging APIs (#48639) This commit introduces 3 new APIs. getDependenciesFromInstantiation: - Given an injector and a token that was instantiated by that injector, discover all of the things were injected in the instance of that token - This API is meant to enable recursive inspection of dependencies. Dependencies returned by this API include which injector they were providedIn, which enables the continous use of getDependenciesFromInstantiation to determine the dependencies of dependencies getInjectorProviders: - Given an injector, discover all of the providers that were configured in that injector. - This API returns information on the configured providers of an injector, including the import path that leads to the container that the provider originated from (NgModule or standalone directive). This enables fine grained inspection to determine where a specific provider comes from. getInjectorParent: - Given an injector, discover the parent of that injector. - This function is meant to be used recursively to discover the entire resolution path from a starting injector to the NullInjector. These APIs were designed to be used together. For example, getInjectorParent can be used to discover the structure of an injector hierarchy. Once that's done, getInjectorProviders can be used to determine the providers of each injector in that hierarchy. Another example: getDependenciesFromInstantiation can be used to discover the dependencies of a specific injector constructed instance. From there, we can use getInjectorParent to discover the injector resolution path and map each dependency to a path from the starting injector to the injector that it was provided in. PR Close #48639 | 01 August 2023, 18:44:40 UTC |
4d92080 | AleksanderBodurri | 22 May 2023, 18:51:21 UTC | refactor(core): convert walkProviderTree and `processInjectorTypesWithProviders` to callback style interfaces (#48639) walkProviderTree and processInjectorTypesWithProviders both perform some generic traversal logic of the import graph of an input NgModule or Standalone component. Currently, these functions pass around a `providersOut` array that is used to collect providers at each step of the traversal. This PR converts those functions to accept visitor callbacks instead of the `providersOut` array. This is done to make the traversal logic of these functions reusable, while leaving it up to the visitor to determine the logic that fires for each visited node. This refactor would allow us to reuse `walkProviderTree` for injector debugging APIs that could support some cool features in DevTools, like tracing the injector resolution path of an injected property on a component instance all the way up to the specific imported module/standalone component. PR Close #48639 | 01 August 2023, 18:44:40 UTC |
ff4d1b4 | AleksanderBodurri | 22 May 2023, 18:50:55 UTC | feat(devtools): create profiler for DI and injector events (#48639) Currently, understanding dependency injection in Angular requires a lot of context and has been sited in our surveys as one of the largest points of confusion that our users have with the framework. This commit is the beginning of our approach to make debugging dependency injection in Angular easier. This commit introduces injector profiler callbacks in parts of the framework to emit injector events. It also introduces a default handler for these events. This default handler parses the stream of events to construct some data structures that will support new injector debug APIs. We have implemented a similar pattern in the past to minimize overhead. There is also the possiblity of making the internal `setInjectorProfiler` function a public debug API in the future, so that users can implement their own handlers to debug DI events. Lastly DI in Angular maps nicely to a stream of events. For production applications there is no runtime overhead. For applications in dev mode there is some additional overhead from the default profiler handling injector events and holding debug data in memory. For production applications, dead code elimination should strip all of the code used by this PR. PR Close #48639 | 01 August 2023, 18:44:40 UTC |
c1052cf | Miles Malerba | 28 July 2023, 17:17:26 UTC | refactor(compiler): add support for sanitizing properties and attributes (#51156) Sets sanitizer functions when attempting to set sensitive properties and attributes PR Close #51156 | 28 July 2023, 22:11:51 UTC |
e4ae634 | Joey Perrott | 28 July 2023, 14:29:13 UTC | ci: remove migrated circleci jobs (#51194) Remove test_angular_devtools and test_win jobs which were migrated to GHA PR Close #51194 | 28 July 2023, 21:43:03 UTC |
f71851a | Jáchym Bambuch | 28 July 2023, 10:36:00 UTC | docs: Change "ng run build:ssr" to "npm run build:ssr" in universal.md (#51192) PR Close #51192 | 28 July 2023, 21:42:30 UTC |
7225528 | Kristiyan Kostadinov | 27 July 2023, 05:53:38 UTC | refactor(compiler): add utility to enable deferred blocks for testing (#51183) Adds the `ɵsetEnabledBlockTypes` utility that can be used when writing JIT tests using `defer` blocks. Intended usage: ```ts import {ɵsetEnabledBlockTypes as setEnabledBlockTypes} from '@angular/compiler/src/jit_compiler_facade'; describe('deferred tests', () => { beforeEach(() => setEnabledBlockTypes(['defer'])); afterEach(() => setEnabledBlockTypes([])); it('should work', () => { // test goes here }); }); ``` PR Close #51183 | 28 July 2023, 21:42:04 UTC |
09bf327 | Miles Malerba | 28 July 2023, 18:24:28 UTC | refactor(compiler): add support for animation listeners (#50975) Adds support for binding animation listeners, e.g. PR Close #50975 | 28 July 2023, 21:40:13 UTC |
570bd67 | Miles Malerba | 07 July 2023, 19:59:51 UTC | refactor(compiler): make listener instruction chainable (#50975) Makes the `ɵɵlistener` instruction chainable in the template pipeline PR Close #50975 | 28 July 2023, 21:40:13 UTC |
7dd99cd | Miles Malerba | 28 July 2023, 18:04:09 UTC | refactor(compiler): add support for animation properties (#50975) Adds support for binding animation properties, e.g. PR Close #50975 | 28 July 2023, 21:40:13 UTC |
88a5711 | Miles Malerba | 02 July 2023, 06:03:54 UTC | refactor(compiler): make element instruction chainable (#50975) Makes the `ɵɵelement` instruction chainable in the template pipeline PR Close #50975 | 28 July 2023, 21:40:13 UTC |
6755f53 | P4 | 26 June 2023, 13:45:34 UTC | fix(compiler): return full spans for Comment nodes (#50855) Change sourceSpan for Comment nodes to cover the whole comment instead of just the opening token. The primary motivation for this is the interaction between ESLint and `@angular-eslint`. ESLint can detect unused `eslint-disable` directives in comments and automatically remove them when running with `--fix`. This is based on ranges computed from AST spans, and as a result does not work inside Angular templates - right now all comments claim to be 4 characters long so only the opening `<!--` is removed. PR Close #50855 | 28 July 2023, 21:39:18 UTC |
cdaa2a8 | Andrew Kushnir | 24 March 2023, 18:37:32 UTC | feat(core): support Provider type in Injector.create (#49587) This commit updates the Injector.create function to accept the `Provider` type in addition to the `StaticProvider` type. This should make it easier to work with the Injector.create function and have less type casts if you have a list of `Provider`s available. PR Close #49587 | 28 July 2023, 21:38:05 UTC |
5061311 | Dylan Hunn | 28 July 2023, 06:16:25 UTC | refactor(compiler): Ingest host attribute bindings in template pipeline (#51188) Host property bindings beginning with `attr.` should have `Attribute` binding kind, and result in an `attribute` instruction. This should really be handled in the parser in the future. PR Close #51188 | 28 July 2023, 18:47:57 UTC |
a42c91e | Dylan Hunn | 28 July 2023, 05:46:29 UTC | refactor(compiler): Generate temporaries in host bindings for template pipeline (#51188) Add the ability to name and resolve generated temporary variables in host bindings, using the existing phase. PR Close #51188 | 28 July 2023, 18:47:57 UTC |
72a59bd | Dylan Hunn | 28 July 2023, 05:02:01 UTC | refactor(compiler): Support `svg` and `math` namespace instructions in template pipeline (#51188) Templates may contain special `svg` and `math` elements, as well as logical descendants of those elements (e.g. `svg` may contain `g`). These will be parsed with a special colon-prefixed *namespace identifier*, such as `:svg:svg`, or `:svg:g`, or `:math:infinity`. The template pipeline now considers these namespace prefixes, and stores them specially on the Element and Template data structures, ultimately generating the appropriate runtime instructions to change namespaces when needed. PR Close #51188 | 28 July 2023, 18:47:57 UTC |
c4b289a | Dylan Hunn | 28 July 2023, 01:04:39 UTC | refactor(compiler): Allow chaining of listeners in template pipeline (#51188) Calls to the listener instruction can be chained. PR Close #51188 | 28 July 2023, 18:47:57 UTC |
8f50385 | Dylan Hunn | 28 July 2023, 00:55:05 UTC | refactor(compiler): support `ngNonBindable` in the template pipeline (#51188) When a container-like element has the `ngNonBindable` special attribute, bindings are disabled for it and its descendants. This requires emitting the `disableBindings` and `enableBindings` instructions when nested content exists. PR Close #51188 | 28 July 2023, 18:47:57 UTC |
1c553ee | Dylan Hunn | 27 July 2023, 20:45:18 UTC | refactor(compiler): Delete some redundant types in template pipeline. (#50899) Previously we refactored the compilation to use the concepts of "jobs" and "units." However, old type aliases were provided to avoid changing all call-sites in bulk. Here, those aliases are deleted, and call sited updated: 1. `ComponentCompilation` becomes `ComponentCompilationJob`. 2. `ViewCompilation` becomes `ViewCompilationUnit`. PR Close #50899 | 27 July 2023, 22:08:05 UTC |
833cb8e | Dylan Hunn | 27 July 2023, 18:33:51 UTC | refactor(compiler): Enable additional tests for the template pipeline (#50899) A number of tests were previously disabled, but are now passing with the latest changes. PR Close #50899 | 27 July 2023, 22:08:05 UTC |
5a0ecdb | Dylan Hunn | 27 July 2023, 00:09:32 UTC | refactor(compiler): Allow host binding functions to specialize bindings (#50899) Interestingly, host bindings are parsed quite differently from template functions. For example, bindings such as `[style.foo]: 3px` would be parsed into a value, unit, and type when bound to a template, but will not be parsed as such when used in a host binding. In this commit, we remedy this shortcoming by adding support for bindings in host binding functions to the template pipeline. In particular, we create a phase to process these bindings, and transform them into the correct output binding kind. Additionally, we fix some other minor bugs and omissions. Finally, we enable compilation of host bindings with the template pipeline, which requires us to turn off a number of failing tests. PR Close #50899 | 27 July 2023, 22:08:05 UTC |
7652ec7 | Dylan Hunn | 18 July 2023, 19:40:57 UTC | refactor(compiler): Allow host bindings to be ingested into the template pipeline. (#50899) Alter the compiler code to ingest and process host bindings, using the newly updated compilation passes. This is currently switched off in the outer compiler layer, but lays the foundation for actually generating the host binding functions using template pipeline. PR Close #50899 | 27 July 2023, 22:08:05 UTC |
5ed8db2 | Dylan Hunn | 26 July 2023, 23:15:03 UTC | refactor(compiler): Refactor processing of bindings and interpolations. (#50899) Today, bindings on templates are ingested in highly distinct ways, depending on the parsed binding kind, as well as special cases for `style` and `class`. This makes it very difficult to also ingest them for host bindings without duplicating all this subtle logic. To solve this, we introduce two major related refactors: 1. Move all processing of attributes into phases. This dramatically reduces the amount of code in `ingest.ts`, which is now only responsible for ingesting an abstract `BindingOp`. The later phases replace each `BindingOp` with more specific ops for each binding kind. For example, `binding_specialization.ts` transforms each abstract `BindingOp` into a concrete `PropertyOp`, `AttributeOp`, etc. Likewise, `style_binding_specialization.ts` performs special-case transformations for style and class bindings. This approach has the additional advantage of separating the creation of attribute and property bindings from other special cases. 2. Eliminate all interpolation ops. Instead, allow the expression inside of an op to be of a new `Interpolation` type. The reify code will then emit the appropriate instruction variant (interpolated or unary). 3. Separate some concerns that were previously mixed in, such as empty bindings and listeners on templates. These refactors cause major downstream code changes across the system, especially to attribute extraction and variable counting. PR Close #50899 | 27 July 2023, 22:08:05 UTC |
30237d1 | Dylan Hunn | 07 July 2023, 00:33:42 UTC | refactor(compiler): Template pipeline: accept host bindings in additional phases (#50899) Modify most of the remaining necessary phases to accept generic `CompilationJobs`. This includes `phasePureLiteralStructures`, `phaseNullishCoalescing`, `phaseExpandSafeReads`, `phaseVariableOptimization`, `phaseNaming`, and `phasePureFunctionExtraction`. PR Close #50899 | 27 July 2023, 22:08:05 UTC |
8f67c07 | Dylan Hunn | 05 July 2023, 22:59:50 UTC | refactor(compiler): Prepare the template pipeline to support host bindings. (#50899) Refactor `compilation.ts` by introducing two new concepts: 1. A compilation unit, which has create and update ops. Compilations of individual views are compilation units, as are individual host bindings. 2. Aa compilation job, which has several compilation units. For example, a whole component is a compilation job, because it can have many view compilation units. A host binding compilation is a job in addition to a unit, because each host binding unit is always a singleton. Then, we begin modifying phases to accept general compilation jobs instead of component compilations specifically, which will allow us to run them on host bindings. In particular, we update the following phases: `phaseReify`, and `phaseChaining`. PR Close #50899 | 27 July 2023, 22:08:04 UTC |
fe7de0d | Dylan Hunn | 05 July 2023, 22:22:30 UTC | refactor(compiler): Compatibility mode for the template pipeline. (#50899) Add a compatibility setting to the component compilation. Accordingly, remove all the custom compatibility flags passed to each phase, and use the main setting instead. PR Close #50899 | 27 July 2023, 22:08:04 UTC |
31ff476 | Dylan Hunn | 28 June 2023, 21:35:22 UTC | refactor(compiler): Introduce source maps in the template pipeline. (#50899) Begin producing source maps for the template pipeline, for a couple fundamental kinds of instructions, including elements, templates, properties, text, and interpolations. PR Close #50899 | 27 July 2023, 22:08:04 UTC |
8a6a72e | Dylan Hunn | 30 June 2023, 00:03:17 UTC | refactor(compiler): Fix `$event` in listeners for template pipeline (#50899) Previously, `$event` was interpreted as a lexical read on the enclosing context. Now, a new pass converts such reads into simple output AST reads of `$event`, so they are not processed by the context resolution or naming phases. Additionally, the same pass sets a field on the enclosing listener op, so that the reify phase does not have to search for reads of `$event`. PR Close #50899 | 27 July 2023, 22:08:04 UTC |
c6010f0 | Dylan Hunn | 27 June 2023, 23:14:08 UTC | refactor(compiler): Support `$any` in template pipeline (#50899) `$any(...)` casts should be dropped, except when they are an explicit call on `this.$any(...)`. Fix a bug in which we were transforming `ThisReceiver` into an implicit receiver. PR Close #50899 | 27 July 2023, 22:08:04 UTC |
3a59de6 | Kristiyan Kostadinov | 11 June 2023, 08:00:31 UTC | fix(devtools): ensure that inspected component label is always in the viewport (#50656) Currently the label showing the component name is always positioned from the bottom/right edge of the element which may be outside of the viewport. These changes add some logic to fall back to a different position so that the label is always visible. I've also cleaned the `highlighter.ts` file up a bit. Fixes #48479. PR Close #50656 | 26 July 2023, 17:04:26 UTC |
bb0f3bc | sunilbaba | 24 June 2023, 09:14:33 UTC | docs(docs-infra): Adding required and Transform Args into the usage and documentation of input (#51173) I# No commands remaining. PR Close #51173 | 26 July 2023, 17:03:41 UTC |
53aa35b | Sid | 24 March 2023, 06:52:58 UTC | docs: improve readability, use future tense to indicate future events (#49578) Summary of changes: * change 'notice that' -> note that * break large sentence to smaller ones to improve readability * use future tense & modal verbs to indicate future events PR Close #49578 | 26 July 2023, 17:03:04 UTC |
29a4103 | abergquist | 02 September 2022, 02:31:16 UTC | docs: fixed grammar error in vulnerability reporting (#47326) Split a run-on sentence into 2 sentences and improved link accessibility. PR Close #47326 | 26 July 2023, 17:01:29 UTC |
d9a4ca6 | Andrew Kushnir | 26 July 2023, 16:08:17 UTC | release: cut the v16.2.0-next.4 release | 26 July 2023, 16:11:32 UTC |
d2b7d76 | Andrew Kushnir | 26 July 2023, 16:05:01 UTC | docs: release notes for the v16.1.7 release | 26 July 2023, 16:05:18 UTC |
d6efd71 | Joey Perrott | 25 July 2023, 17:32:01 UTC | ci: correct changed github action paths (#51168) Change to the new paths to the github actions after dev-infra refactor PR Close #51168 | 25 July 2023, 17:48:47 UTC |
2c5e5e4 | alkavats1 | 25 July 2023, 15:29:38 UTC | docs: updated the tour of heroes doc file (#51151) PR Close #51151 | 25 July 2023, 17:24:52 UTC |
d886887 | Matthieu Riegler | 24 July 2023, 13:40:44 UTC | refactor(core): Better use of Object.keys() (#51153) Code cleaning arround the `Object.keys()` in the core tests. PR Close #51153 | 25 July 2023, 16:17:46 UTC |
29d3581 | hyperlife1119 | 06 April 2023, 16:44:35 UTC | feat(common): add component input binding support for NgComponentOutlet (#51148) This commit add component input binding support for NgComponentOutlet. PR Close #51148 | 25 July 2023, 16:16:19 UTC |
b5cf5d2 | Matthieu Riegler | 24 July 2023, 08:01:24 UTC | docs: remove orphan migration docs (#51147) These docs are orphoned, no longer referenced anywhere in the docs, we can safery remove them. PR Close #51147 | 24 July 2023, 15:20:22 UTC |
8b32f89 | alkavats1 | 24 July 2023, 11:14:35 UTC | docs: updated the word in tutorial template (#51150) PR Close #51150 | 24 July 2023, 15:18:34 UTC |
daaa0a4 | Matthieu Riegler | 23 July 2023, 07:30:33 UTC | docs: remove trailing periods after `@see` (#51144) This fixes a rendering issue where the periods would be bellow the text block. PR Close #51144 | 24 July 2023, 15:14:51 UTC |
92ebfd1 | Kristiyan Kostadinov | 23 July 2023, 07:08:11 UTC | refactor(compiler): handle braces in block parameters (#51143) Fixes that using braces in the block parameters would result in incorrect tokens being produced. Currently we don't have any blocks that allow object literal parameters, but it may come up in the future. PR Close #51143 | 24 July 2023, 15:13:51 UTC |
27d43a4 | Angular Robot | 21 July 2023, 15:11:06 UTC | build: lock file maintenance (#51134) See associated pull request for more information. PR Close #51134 | 24 July 2023, 15:12:51 UTC |
4120a03 | Kevin Boss | 19 July 2023, 21:39:27 UTC | docs: fix typos in first app tutorial (#51115) PR Close #51115 | 21 July 2023, 17:31:24 UTC |
0c9c825 | Matthieu Riegler | 21 July 2023, 08:41:01 UTC | docs: Add links to the injection context guide (#51129) PR Close #51129 | 21 July 2023, 16:46:42 UTC |
57e8412 | arturovt | 20 July 2023, 09:14:10 UTC | fix(http): check whether `Zone` is defined (#51119) Accessing the `Zone` variable without checking if it's defined or not leads to an error "Zone is not defined" if zone.js is not imported (nooped). This commit adds an additional check before getting the current zone where the `doRequest` is being called. PR Close #51119 | 21 July 2023, 16:45:26 UTC |
3106054 | alkavats1 | 19 July 2023, 19:16:14 UTC | docs: updated the benchpress readme doc (#51110) PR Close #51110 | 21 July 2023, 16:43:30 UTC |
189d601 | Angular Robot | 21 July 2023, 15:07:53 UTC | build: update cross-repo angular dependencies (#51132) See associated pull request for more information. PR Close #51132 | 21 July 2023, 16:42:35 UTC |
528fea7 | Angular Robot | 20 July 2023, 15:07:15 UTC | build: update cross-repo angular dependencies (#51127) See associated pull request for more information. PR Close #51127 | 21 July 2023, 14:12:58 UTC |
39899fe | Angular Robot | 20 July 2023, 20:06:07 UTC | build: update io_bazel_rules_sass digest to e2e30df (#51126) See associated pull request for more information. PR Close #51126 | 21 July 2023, 14:11:33 UTC |
0413e55 | Matthieu Riegler | 19 July 2023, 22:35:17 UTC | docs: remove the links to docs.angular.lat (#51117) docs.angular.lat hasn't been updated in a while and is stuck at v10. Let's remove it. Fixes #47644 PR Close #51117 | 20 July 2023, 20:21:29 UTC |
33acf4f | Matthieu Riegler | 19 July 2023, 22:09:09 UTC | docs(docs-infra): fix rendering of `Exported from` section on Firefox. (#51116) On Firefox when an `a` element contains a `block` element, the `a` element is not aligned with the `li` marker. Fixes #51112 PR Close #51116 | 20 July 2023, 19:58:11 UTC |
6fed684 | Angular Robot | 19 July 2023, 13:08:15 UTC | build: update github/codeql-action action to v2.21.0 (#51077) See associated pull request for more information. PR Close #51077 | 20 July 2023, 19:57:22 UTC |
d2e08a6 | Angular Robot | 18 July 2023, 21:08:07 UTC | build: update dependency @types/convert-source-map to v2 (#51085) See associated pull request for more information. PR Close #51085 | 20 July 2023, 19:56:54 UTC |
7092b21 | Matthieu Riegler | 19 July 2023, 21:36:29 UTC | build: Upgrade `firebase-tools` and `puppeteer` to fix transitive dependency vulnerability. (#51114) `vm2` was pulled by `firebase-tools` < 12.4.5 and `puppeteer` < 20.8.2. Fixes #51080 PR Close #51114 | 20 July 2023, 19:55:52 UTC |
05657cf | Jessica Janiuk | 19 July 2023, 19:30:17 UTC | release: cut the v16.2.0-next.3 release | 19 July 2023, 19:32:42 UTC |
16e132f | Jessica Janiuk | 19 July 2023, 19:14:19 UTC | docs: release notes for the v16.1.6 release | 19 July 2023, 19:14:38 UTC |
386cb2f | Jessica Janiuk | 19 July 2023, 18:31:01 UTC | Revert "docs: added the alt attribute in the img tag (#51102)" (#51107) This reverts commit 3b248c59c65927d0fda619884dea3a6bc3e19e42. PR Close #51107 | 19 July 2023, 18:48:59 UTC |
32e49f5 | Simona Cotin | 19 July 2023, 17:50:58 UTC | docs: update v16.2 date (#51104) PR Close #51104 | 19 July 2023, 17:57:12 UTC |
6462924 | Gerard Tyedmers | 19 July 2023, 14:09:25 UTC | docs(docs-infra): fix wrong links in first-app-lesson-14.md (#51097) docs(docs-infra): fix wrong links in first-app-lesson-14.md in first-app-lesson-14.md, the links to starting code point to the wrong lesson 06 instead of lesson 13 and the links to completed code point to lesson 07 instead of lesson 14 PR Close #51097 | 19 July 2023, 17:52:13 UTC |
551b246 | alkavats1 | 19 July 2023, 14:06:24 UTC | docs: updated the angular-compiler-option doc (#51095) PR Close #51095 | 19 July 2023, 17:44:04 UTC |
3b248c5 | alkavats1 | 19 July 2023, 17:21:17 UTC | docs: added the alt attribute in the img tag (#51102) PR Close #51102 | 19 July 2023, 17:39:44 UTC |
385adbb | Angular Robot | 19 July 2023, 15:07:05 UTC | build: update dependency core-js to v3 (#51099) See associated pull request for more information. PR Close #51099 | 19 July 2023, 17:37:36 UTC |
ddf1769 | Gerard Tyedmers | 19 July 2023, 12:51:45 UTC | docs(docs-infra): fix wrong links in first-app-lesson-13.md (#51094) docs(docs-infra): fix wrong links in first-app-lesson-13.md in first-app-lesson-13.md, the links to starting code point to the wrong lesson 13 instead of lesson 12 and the links to completed code point to lesson 14 instead of lesson 13 PR Close #51094 | 19 July 2023, 17:10:05 UTC |
8fb9db9 | Andrii Kurdiumov | 18 July 2023, 04:10:58 UTC | docs: Fix path to sample (#51076) PR Close #51076 | 19 July 2023, 17:09:30 UTC |
24bf133 | Andrew Kushnir | 18 July 2023, 20:50:14 UTC | refactor(compiler): add support for dynamic imports in the output AST (#51087) This commit updates the output AST (and related visitors) to support dynamic imports. This functionality will be used later to generate the output for defer blocks. PR Close #51087 | 19 July 2023, 16:54:42 UTC |
3ef8195 | Angular Robot | 18 July 2023, 21:08:12 UTC | build: update dependency @types/systemjs to v6 (#51088) See associated pull request for more information. PR Close #51088 | 19 July 2023, 14:37:01 UTC |
dd43615 | Angular Robot | 18 July 2023, 18:07:22 UTC | build: update all non-major dependencies (#50994) See associated pull request for more information. PR Close #50994 | 18 July 2023, 21:01:44 UTC |
109737b | Alex Castle | 13 July 2023, 18:45:06 UTC | docs(common): Add NgOptimizedImage FAQ (#51036) Make minor updatees to NgOptimizedImage docs, and add an FAQ. PR Close #51036 | 18 July 2023, 19:05:15 UTC |
7410d68 | Kristiyan Kostadinov | 18 July 2023, 08:55:48 UTC | refactor(compiler): add compiler flag to enable deferred blocks for testing (#51079) Adds a new compiler option that will allow `defer` (and other) blocks to be enabled when writing unit tests. PR Close #51079 | 18 July 2023, 17:05:29 UTC |
89c84bf | Payam Valadkhan | 17 July 2023, 20:45:29 UTC | test(core): update runtime error list to include deps tracker error (#50980) The previous commits add a new runtime error code (RUNTIME_DEPS_INVALID_IMPORTED_TYPE) which needs to be added to the golden for the tests to pass. PR Close #50980 | 18 July 2023, 14:04:39 UTC |