https://github.com/angular/angular
- HEAD
- refs/heads/10.0.x
- refs/heads/10.1.x
- refs/heads/10.2.x
- refs/heads/11.0.x
- refs/heads/11.1.x
- refs/heads/11.2.x
- refs/heads/12.0.x
- refs/heads/12.1.x
- refs/heads/12.2.x
- refs/heads/12.3.x
- refs/heads/13.0.x
- refs/heads/13.1.x
- refs/heads/13.2.x
- refs/heads/13.3.x
- refs/heads/13.4.x
- refs/heads/14.0.x
- refs/heads/14.1.x
- refs/heads/14.2.x
- refs/heads/14.3.x
- refs/heads/15.0.x
- refs/heads/15.1.x
- refs/heads/15.2.x
- refs/heads/16.0.x
- refs/heads/16.1.x
- refs/heads/16.2.x
- refs/heads/17.0.x
- refs/heads/17.1.x
- refs/heads/17.2.x
- refs/heads/17.3.x
- refs/heads/18.0.x
- refs/heads/18.1.x
- refs/heads/18.2.x
- refs/heads/2.0.x
- refs/heads/2.1.x
- refs/heads/2.2.x
- refs/heads/2.3.x
- refs/heads/2.4.x
- refs/heads/4.0.x
- refs/heads/4.1.x
- refs/heads/4.2.x
- refs/heads/4.3.x
- refs/heads/4.4.x
- refs/heads/5.0.x
- refs/heads/5.1.x
- refs/heads/5.2.x
- refs/heads/5.2x
- refs/heads/52695-improve-clarity-of-tutorial-intro
- refs/heads/53015-add-h1-for-skip-to-main-content
- refs/heads/55510/fix-security-guide-links
- refs/heads/55725-fix-visible-snippets
- refs/heads/6.0.x
- refs/heads/6.1.x
- refs/heads/7.0.x
- refs/heads/7.1.x
- refs/heads/7.2.x
- refs/heads/8.0.x
- refs/heads/8.1.x
- refs/heads/8.2.x
- refs/heads/9.0.x
- refs/heads/9.1.x
- refs/heads/JeanMeche-patch-1
- refs/heads/add-adev-docs
- refs/heads/add-ben-to-reviewers
- refs/heads/add-docs-script-command
- refs/heads/add-missing-border-on-editor
- refs/heads/backup-7.2.x
- refs/heads/bazel
- refs/heads/browser-update-test
- refs/heads/docs-developer-preview-fix
- refs/heads/docs/update-security-guide-reference
- refs/heads/dylhunn-patch-1
- refs/heads/dylhunn-zonejs-instructions
- refs/heads/fix-extra-padding-on-tutorial-editor
- refs/heads/fix-missing-security-guide
- refs/heads/fix-playground-spacing-issue
- refs/heads/g3
- refs/heads/image-directive-13.3.x
- refs/heads/in-depth-guides-refactor
- refs/heads/jperrott-test
- refs/heads/main
- refs/heads/publish-snapshots
- refs/heads/redirects-aio
- refs/heads/remove-aio-stuff
- refs/heads/remove-embedded-editor-from-first-app
- refs/heads/robots-aio
- refs/heads/saucelabs-bazel
- refs/heads/signals
- refs/heads/sonukapoor-patch-1
- refs/heads/styling-experiments
- refs/heads/twerske-patch-1
- refs/heads/twerske-patch-2
- refs/heads/twerske-v18-changelog
- refs/heads/update-dropdown-for-v18
- refs/heads/watch-burn-rates
- refs/heads/windows-executor-no-cache
- refs/remotes/presubmit-pr-2853
- refs/renovate/branches/renovate/core-js-3.x
- refs/renovate/branches/renovate/cross-repo-angular-dependencies
- refs/renovate/branches/renovate/firebase-tools-11.x
- refs/reviewable/pr1707/r1
- refs/reviewable/pr1855/r1
- refs/reviewable/pr1977/r1
- refs/reviewable/pr1995/r1
- refs/reviewable/pr2164/r1
- refs/reviewable/pr2218/r1
- refs/reviewable/pr2255/r1
- refs/reviewable/pr2257/r1
- refs/reviewable/pr2317/r1
- refs/reviewable/pr2337/r1
- refs/reviewable/pr2347/r1
- refs/reviewable/pr2407/r1
- refs/reviewable/pr2419/r1
- refs/reviewable/pr2419/r2
- refs/reviewable/pr2419/r3
- refs/reviewable/pr2463/r1
- refs/reviewable/pr2464/r1
- refs/reviewable/pr2464/r2
- refs/reviewable/pr2568/r1
- refs/reviewable/pr2573/r1
- refs/reviewable/pr2573/r2
- refs/reviewable/pr2587/r1
- refs/reviewable/pr2588/r1
- refs/reviewable/pr2593/r1
- refs/reviewable/pr2610/r1
- refs/reviewable/pr2634/r1
- refs/reviewable/pr2641/r1
- refs/reviewable/pr2658/r1
- refs/reviewable/pr2658/r2
- refs/reviewable/pr2665/r1
- refs/reviewable/pr2666/r1
- refs/reviewable/pr2666/r2
- refs/reviewable/pr2667/r1
- refs/reviewable/pr2668/r1
- refs/reviewable/pr2676/r1
- refs/reviewable/pr2679/r1
- refs/reviewable/pr2679/r2
- refs/reviewable/pr2690/r1
- refs/reviewable/pr2695/r1
- refs/reviewable/pr2695/r2
- refs/reviewable/pr2695/r3
- refs/reviewable/pr2699/r1
- refs/reviewable/pr2699/r2
- refs/reviewable/pr2699/r3
- refs/reviewable/pr2699/r4
- refs/reviewable/pr2699/r5
- refs/reviewable/pr2699/r6
- refs/reviewable/pr2703/r1
- refs/reviewable/pr2709/r1
- refs/reviewable/pr2709/r2
- refs/reviewable/pr2711/r1
- refs/reviewable/pr2711/r2
- refs/reviewable/pr2713/r1
- refs/reviewable/pr2713/r2
- refs/reviewable/pr2713/r3
- refs/reviewable/pr2714/r1
- refs/reviewable/pr2714/r2
- refs/reviewable/pr2714/r3
- refs/reviewable/pr2715/r1
- refs/reviewable/pr2715/r2
- refs/reviewable/pr2717/r1
- refs/reviewable/pr2717/r2
- refs/reviewable/pr2719/r1
- refs/reviewable/pr2729/r1
- refs/reviewable/pr2729/r2
- refs/reviewable/pr2731/r1
- refs/reviewable/pr2731/r2
- refs/reviewable/pr2734/r1
- refs/reviewable/pr2735/r1
- refs/reviewable/pr2735/r2
- refs/reviewable/pr2736/r1
- refs/reviewable/pr2737/r1
- refs/reviewable/pr2737/r2
- refs/reviewable/pr2737/r3
- refs/reviewable/pr2737/r4
- refs/reviewable/pr2738/r1
- refs/reviewable/pr2738/r2
- refs/reviewable/pr2742/r1
- refs/reviewable/pr2743/r1
- refs/reviewable/pr2744/r1
- refs/reviewable/pr2744/r2
- refs/reviewable/pr2746/r1
- refs/reviewable/pr2746/r2
- refs/reviewable/pr2749/r1
- refs/reviewable/pr2750/r1
- refs/reviewable/pr2752/r1
- refs/reviewable/pr2757/r1
- refs/reviewable/pr2758/r1
- refs/reviewable/pr2759/r1
- refs/reviewable/pr2760/r1
- refs/reviewable/pr2762/r1
- refs/reviewable/pr2764/r1
- refs/reviewable/pr2767/r1
- refs/reviewable/pr2769/r1
- refs/reviewable/pr2772/r1
- refs/reviewable/pr2772/r2
- refs/reviewable/pr2772/r3
- refs/reviewable/pr2772/r4
- refs/reviewable/pr2773/r1
- refs/reviewable/pr2778/r1
- refs/reviewable/pr2778/r2
- refs/reviewable/pr2780/r1
- refs/reviewable/pr2781/r1
- refs/reviewable/pr2784/r1
- refs/reviewable/pr2789/r1
- refs/reviewable/pr2791/r1
- refs/reviewable/pr2792/r1
- refs/reviewable/pr2792/r2
- refs/reviewable/pr2797/r1
- refs/reviewable/pr2801/r1
- refs/reviewable/pr2802/r1
- refs/reviewable/pr2804/r1
- refs/reviewable/pr2805/r1
- refs/reviewable/pr2854/r1
- refs/reviewable/pr3118/r1
- refs/reviewable/pr3126/r1
- refs/reviewable/pr3132/r1
- refs/reviewable/pr3135/r1
- refs/reviewable/pr3135/r2
- refs/reviewable/pr3135/r3
- refs/reviewable/pr3158/r1
- refs/reviewable/pr3564/r1
- refs/reviewable/pr3592/r1
- refs/reviewable/pr4656/r1
- refs/reviewable/pr4657/r1
- refs/reviewable/pr4702/r1
- refs/reviewable/pr4745/r1
- refs/reviewable/pr864/r1
- refs/tags/10.0.0
- refs/tags/10.0.0-next.0
- refs/tags/10.0.0-next.1
- refs/tags/10.0.0-next.2
- refs/tags/10.0.0-next.3
- refs/tags/10.0.0-next.4
- refs/tags/10.0.0-next.5
- refs/tags/10.0.0-next.6
- refs/tags/10.0.0-next.7
- refs/tags/10.0.0-next.8
- refs/tags/10.0.0-next.9
- refs/tags/10.0.0-rc.0
- refs/tags/10.0.0-rc.2
- refs/tags/10.0.0-rc.3
- refs/tags/10.0.0-rc.4
- refs/tags/10.0.0-rc.5
- refs/tags/10.0.0-rc.6
- refs/tags/10.0.1
- refs/tags/10.0.10
- refs/tags/10.0.11
- refs/tags/10.0.12
- refs/tags/10.0.13
- refs/tags/10.0.14
- refs/tags/10.0.2
- refs/tags/10.0.3
- refs/tags/10.0.4
- refs/tags/10.0.5
- refs/tags/10.0.6
- refs/tags/10.0.7
- refs/tags/10.0.8
- refs/tags/10.0.9
- refs/tags/10.1.0
- refs/tags/10.1.0-next.0
- refs/tags/10.1.0-next.1
- refs/tags/10.1.0-next.2
- refs/tags/10.1.0-next.3
- refs/tags/10.1.0-next.4
- refs/tags/10.1.0-next.5
- refs/tags/10.1.0-next.6
- refs/tags/10.1.0-next.7
- refs/tags/10.1.0-next.8
- refs/tags/10.1.0-rc.0
- refs/tags/10.1.1
- refs/tags/10.1.2
- refs/tags/10.1.3
- refs/tags/10.1.4
- refs/tags/10.1.5
- refs/tags/10.1.6
- refs/tags/10.2.0
- refs/tags/10.2.1
- refs/tags/10.2.2
- refs/tags/10.2.3
- refs/tags/10.2.4
- refs/tags/10.2.5
- refs/tags/11.0.0
- refs/tags/11.0.0-next.0
- refs/tags/11.0.0-next.1
- refs/tags/11.0.0-next.2
- refs/tags/11.0.0-next.3
- refs/tags/11.0.0-next.4
- refs/tags/11.0.0-next.5
- refs/tags/11.0.0-next.6
- refs/tags/11.0.0-rc.0
- refs/tags/11.0.0-rc.1
- refs/tags/11.0.0-rc.2
- refs/tags/11.0.0-rc.3
- refs/tags/11.0.1
- refs/tags/11.0.2
- refs/tags/11.0.3
- refs/tags/11.0.4
- refs/tags/11.0.5
- refs/tags/11.0.6
- refs/tags/11.0.7
- refs/tags/11.0.8
- refs/tags/11.0.9
- refs/tags/11.1.0
- refs/tags/11.1.0-next.0
- refs/tags/11.1.0-next.1
- refs/tags/11.1.0-next.2
- refs/tags/11.1.0-next.3
- refs/tags/11.1.0-next.4
- refs/tags/11.1.0-next.5
- refs/tags/11.1.0-rc.0
- refs/tags/11.1.1
- refs/tags/11.1.2
- refs/tags/11.2.0
- refs/tags/11.2.0-next.0
- refs/tags/11.2.0-next.1
- refs/tags/11.2.0-rc.0
- refs/tags/11.2.1
- refs/tags/11.2.10
- refs/tags/11.2.11
- refs/tags/11.2.12
- refs/tags/11.2.13
- refs/tags/11.2.14
- refs/tags/11.2.2
- refs/tags/11.2.3
- refs/tags/11.2.4
- refs/tags/11.2.5
- refs/tags/11.2.6
- refs/tags/11.2.7
- refs/tags/11.2.8
- refs/tags/11.2.9
- refs/tags/12.0.0-next.0
- refs/tags/12.0.0-next.1
- refs/tags/12.0.0-next.2
- refs/tags/12.0.0-next.3
- refs/tags/12.0.0-next.4
- refs/tags/12.0.0-next.5
- refs/tags/12.0.0-next.6
- refs/tags/12.0.0-next.7
- refs/tags/12.0.0-next.8
- refs/tags/12.0.0-next.9
- refs/tags/12.0.0-rc.0
- refs/tags/12.0.0-rc.1
- refs/tags/12.0.0-rc.2
- refs/tags/12.0.0-rc.3
- refs/tags/12.0.1
- refs/tags/12.0.2
- refs/tags/12.0.3
- refs/tags/12.0.4
- refs/tags/12.0.5
- refs/tags/12.1.0
- refs/tags/12.1.0-next.2
- refs/tags/12.1.0-next.3
- refs/tags/12.1.0-next.4
- refs/tags/12.1.0-next.5
- refs/tags/12.1.0-next.6
- refs/tags/12.1.1
- refs/tags/12.1.2
- refs/tags/12.1.3
- refs/tags/12.1.4
- refs/tags/12.1.5
- refs/tags/12.2.0
- refs/tags/12.2.0-next.0
- refs/tags/12.2.0-next.1
- refs/tags/12.2.0-next.2
- refs/tags/12.2.0-next.3
- refs/tags/12.2.0-rc.0
- refs/tags/12.2.1
- refs/tags/12.2.10
- refs/tags/12.2.11
- refs/tags/12.2.12
- refs/tags/12.2.13
- refs/tags/12.2.14
- refs/tags/12.2.15
- refs/tags/12.2.16
- refs/tags/12.2.17
- refs/tags/12.2.2
- refs/tags/12.2.3
- refs/tags/12.2.4
- refs/tags/12.2.5
- refs/tags/12.2.6
- refs/tags/12.2.7
- refs/tags/12.2.8
- refs/tags/12.2.9
- refs/tags/13.0.0
- refs/tags/13.0.0-next.0
- refs/tags/13.0.0-next.1
- refs/tags/13.0.0-next.10
- refs/tags/13.0.0-next.11
- refs/tags/13.0.0-next.12
- refs/tags/13.0.0-next.13
- refs/tags/13.0.0-next.14
- refs/tags/13.0.0-next.15
- refs/tags/13.0.0-next.2
- refs/tags/13.0.0-next.3
- refs/tags/13.0.0-next.4
- refs/tags/13.0.0-next.5
- refs/tags/13.0.0-next.6
- refs/tags/13.0.0-next.7
- refs/tags/13.0.0-next.8
- refs/tags/13.0.0-next.9
- refs/tags/13.0.0-rc.0
- refs/tags/13.0.0-rc.1
- refs/tags/13.0.0-rc.2
- refs/tags/13.0.0-rc.3
- refs/tags/13.0.1
- refs/tags/13.0.2
- refs/tags/13.0.3
- refs/tags/13.1.0
- refs/tags/13.1.0-next.0
- refs/tags/13.1.0-next.1
- refs/tags/13.1.0-next.2
- refs/tags/13.1.0-next.3
- refs/tags/13.1.1
- refs/tags/13.1.2
- refs/tags/13.1.3
- refs/tags/13.2.0
- refs/tags/13.2.0-next.0
- refs/tags/13.2.0-next.1
- refs/tags/13.2.0-next.2
- refs/tags/13.2.0-rc.0
- refs/tags/13.2.0-rc.1
- refs/tags/13.2.1
- refs/tags/13.2.2
- refs/tags/13.2.3
- refs/tags/13.2.4
- refs/tags/13.2.5
- refs/tags/13.2.6
- refs/tags/13.2.7
- refs/tags/13.3.0
- refs/tags/13.3.0-next.0
- refs/tags/13.3.0-rc.0
- refs/tags/13.3.1
- refs/tags/13.3.10
- refs/tags/13.3.11
- refs/tags/13.3.12
- refs/tags/13.3.2
- refs/tags/13.3.3
- refs/tags/13.3.4
- refs/tags/13.3.5
- refs/tags/13.3.6
- refs/tags/13.3.7
- refs/tags/13.3.8
- refs/tags/13.3.9
- refs/tags/13.4.0
- refs/tags/14.0.0
- refs/tags/14.0.0-next.0
- refs/tags/14.0.0-next.1
- refs/tags/14.0.0-next.10
- refs/tags/14.0.0-next.11
- refs/tags/14.0.0-next.12
- refs/tags/14.0.0-next.13
- refs/tags/14.0.0-next.14
- refs/tags/14.0.0-next.15
- refs/tags/14.0.0-next.16
- refs/tags/14.0.0-next.2
- refs/tags/14.0.0-next.3
- refs/tags/14.0.0-next.4
- refs/tags/14.0.0-next.5
- refs/tags/14.0.0-next.6
- refs/tags/14.0.0-next.7
- refs/tags/14.0.0-next.8
- refs/tags/14.0.0-next.9
- refs/tags/14.0.0-rc.0
- refs/tags/14.0.0-rc.1
- refs/tags/14.0.0-rc.2
- refs/tags/14.0.0-rc.3
- refs/tags/14.0.1
- refs/tags/14.0.2
- refs/tags/14.0.3
- refs/tags/14.0.4
- refs/tags/14.0.5
- refs/tags/14.0.6
- refs/tags/14.0.7
- refs/tags/14.1.0
- refs/tags/14.1.0-next.0
- refs/tags/14.1.0-next.1
- refs/tags/14.1.0-next.2
- refs/tags/14.1.0-next.3
- refs/tags/14.1.0-next.4
- refs/tags/14.1.0-rc.0
- refs/tags/14.1.1
- refs/tags/14.1.2
- refs/tags/14.1.3
- refs/tags/14.2.0
- refs/tags/14.2.0-next.0
- refs/tags/14.2.0-next.1
- refs/tags/14.2.0-rc.0
- refs/tags/14.2.1
- refs/tags/14.2.10
- refs/tags/14.2.11
- refs/tags/14.2.12
- refs/tags/14.2.2
- refs/tags/14.2.3
- refs/tags/14.2.4
- refs/tags/14.2.5
- refs/tags/14.2.6
- refs/tags/14.2.7
- refs/tags/14.2.8
- refs/tags/14.2.9
- refs/tags/14.3.0
- refs/tags/15.0.0
- refs/tags/15.0.0-next.0
- refs/tags/15.0.0-next.1
- refs/tags/15.0.0-next.2
- refs/tags/15.0.0-next.3
- refs/tags/15.0.0-next.4
- refs/tags/15.0.0-next.5
- refs/tags/15.0.0-next.6
- refs/tags/15.0.0-rc.0
- refs/tags/15.0.0-rc.1
- refs/tags/15.0.0-rc.2
- refs/tags/15.0.0-rc.3
- refs/tags/15.0.0-rc.4
- refs/tags/15.0.1
- refs/tags/15.0.2
- refs/tags/15.0.3
- refs/tags/15.0.4
- refs/tags/15.1.0
- refs/tags/15.1.0-next.0
- refs/tags/15.1.0-next.1
- refs/tags/15.1.0-next.2
- refs/tags/15.1.0-next.3
- refs/tags/15.1.0-rc.0
- refs/tags/15.1.1
- refs/tags/15.1.2
- refs/tags/15.1.3
- refs/tags/15.1.4
- refs/tags/15.1.5
- refs/tags/15.2.0
- refs/tags/15.2.0-next.0
- refs/tags/15.2.0-next.1
- refs/tags/15.2.0-next.2
- refs/tags/15.2.0-next.3
- refs/tags/15.2.0-next.4
- refs/tags/15.2.0-rc.0
- refs/tags/15.2.1
- refs/tags/15.2.10
- refs/tags/15.2.2
- refs/tags/15.2.3
- refs/tags/15.2.4
- refs/tags/15.2.5
- refs/tags/15.2.6
- refs/tags/15.2.7
- refs/tags/15.2.8
- refs/tags/15.2.9
- refs/tags/16.0.0
- refs/tags/16.0.0-next.0
- refs/tags/16.0.0-next.1
- refs/tags/16.0.0-next.2
- refs/tags/16.0.0-next.3
- refs/tags/16.0.0-next.4
- refs/tags/16.0.0-next.5
- refs/tags/16.0.0-next.6
- refs/tags/16.0.0-next.7
- refs/tags/16.0.0-rc.0
- refs/tags/16.0.0-rc.1
- refs/tags/16.0.0-rc.2
- refs/tags/16.0.0-rc.3
- refs/tags/16.0.0-rc.4
- refs/tags/16.0.1
- refs/tags/16.0.2
- refs/tags/16.0.3
- refs/tags/16.0.4
- refs/tags/16.0.5
- refs/tags/16.0.6
- refs/tags/16.1.0
- refs/tags/16.1.0-next.0
- refs/tags/16.1.0-next.1
- refs/tags/16.1.0-next.2
- refs/tags/16.1.0-next.3
- refs/tags/16.1.0-rc.0
- refs/tags/16.1.1
- refs/tags/16.1.2
- refs/tags/16.1.3
- refs/tags/16.1.4
- refs/tags/16.1.5
- refs/tags/16.1.6
- refs/tags/16.1.7
- refs/tags/16.1.8
- refs/tags/16.1.9
- refs/tags/16.2.0
- refs/tags/16.2.0-next.0
- refs/tags/16.2.0-next.1
- refs/tags/16.2.0-next.2
- refs/tags/16.2.0-next.3
- refs/tags/16.2.0-next.4
- refs/tags/16.2.0-rc.0
- refs/tags/16.2.1
- refs/tags/16.2.10
- refs/tags/16.2.11
- refs/tags/16.2.12
- refs/tags/16.2.2
- refs/tags/16.2.3
- refs/tags/16.2.4
- refs/tags/16.2.5
- refs/tags/16.2.6
- refs/tags/16.2.7
- refs/tags/16.2.8
- refs/tags/16.2.9
- refs/tags/17.0.0
- refs/tags/17.0.0-next.0
- refs/tags/17.0.0-next.1
- refs/tags/17.0.0-next.2
- refs/tags/17.0.0-next.3
- refs/tags/17.0.0-next.4
- refs/tags/17.0.0-next.5
- refs/tags/17.0.0-next.6
- refs/tags/17.0.0-next.7
- refs/tags/17.0.0-next.8
- refs/tags/17.0.0-rc.0
- refs/tags/17.0.0-rc.1
- refs/tags/17.0.0-rc.2
- refs/tags/17.0.0-rc.3
- refs/tags/17.0.1
- refs/tags/17.0.2
- refs/tags/17.0.3
- refs/tags/17.0.4
- refs/tags/17.0.5
- refs/tags/17.0.6
- refs/tags/17.0.7
- refs/tags/17.0.8
- refs/tags/17.0.9
- refs/tags/17.1.0
- refs/tags/17.1.0-next.0
- refs/tags/17.1.0-next.1
- refs/tags/17.1.0-next.2
- refs/tags/17.1.0-next.3
- refs/tags/17.1.0-next.4
- refs/tags/17.1.0-next.5
- refs/tags/17.1.0-rc.0
- refs/tags/17.1.1
- refs/tags/17.1.2
- refs/tags/17.1.3
- refs/tags/17.2.0
- refs/tags/17.2.0-next.0
- refs/tags/17.2.0-next.1
- refs/tags/17.2.0-rc.0
- refs/tags/17.2.0-rc.1
- refs/tags/17.2.1
- refs/tags/17.2.2
- refs/tags/17.2.3
- refs/tags/17.2.4
- refs/tags/17.3.0
- refs/tags/17.3.0-next.0
- refs/tags/17.3.0-next.1
- refs/tags/17.3.0-rc.0
- refs/tags/17.3.1
- refs/tags/17.3.10
- refs/tags/17.3.11
- refs/tags/17.3.12
- refs/tags/17.3.2
- refs/tags/17.3.3
- refs/tags/17.3.4
- refs/tags/17.3.5
- refs/tags/17.3.6
- refs/tags/17.3.7
- refs/tags/17.3.8
- refs/tags/17.3.9
- refs/tags/18.0.0
- refs/tags/18.0.0-next.0
- refs/tags/18.0.0-next.1
- refs/tags/18.0.0-next.2
- refs/tags/18.0.0-next.3
- refs/tags/18.0.0-next.4
- refs/tags/18.0.0-next.5
- refs/tags/18.0.0-next.6
- refs/tags/18.0.0-rc.0
- refs/tags/18.0.0-rc.1
- refs/tags/18.0.0-rc.2
- refs/tags/18.0.0-rc.3
- refs/tags/18.0.1
- refs/tags/18.0.2
- refs/tags/18.0.3
- refs/tags/18.0.4
- refs/tags/18.0.5
- refs/tags/18.0.6
- refs/tags/18.0.7
- refs/tags/18.1.0
- refs/tags/18.1.0-next.0
- refs/tags/18.1.0-next.1
- refs/tags/18.1.0-next.2
- refs/tags/18.1.0-next.3
- refs/tags/18.1.0-next.4
- refs/tags/18.1.0-rc.0
- refs/tags/18.1.1
- refs/tags/18.1.2
- refs/tags/18.1.3
- refs/tags/18.1.4
- refs/tags/18.1.5
- refs/tags/18.2.0
- refs/tags/18.2.0-next.0
- refs/tags/18.2.0-next.1
- refs/tags/18.2.0-next.2
- refs/tags/18.2.0-next.3
- refs/tags/18.2.0-next.4
- refs/tags/18.2.0-rc.0
- refs/tags/18.2.1
- refs/tags/18.2.2
- refs/tags/19.0.0-next.0
- refs/tags/19.0.0-next.1
- refs/tags/19.0.0-next.2
- refs/tags/2.0.0
- refs/tags/2.0.0-alpha.13
- refs/tags/2.0.0-alpha.14
- refs/tags/2.0.0-alpha.15
- refs/tags/2.0.0-alpha.16
- refs/tags/2.0.0-alpha.17
- refs/tags/2.0.0-alpha.18
- refs/tags/2.0.0-alpha.19
- refs/tags/2.0.0-alpha.20
- refs/tags/2.0.0-alpha.21
- refs/tags/2.0.0-alpha.22
- refs/tags/2.0.0-alpha.23
- refs/tags/2.0.0-alpha.24
- refs/tags/2.0.0-alpha.25
- refs/tags/2.0.0-alpha.26
- refs/tags/2.0.0-alpha.27
- refs/tags/2.0.0-alpha.28
- refs/tags/2.0.0-alpha.29
- refs/tags/2.0.0-alpha.30
- refs/tags/2.0.0-alpha.31
- refs/tags/2.0.0-alpha.32
- refs/tags/2.0.0-alpha.33
- refs/tags/2.0.0-alpha.34
- refs/tags/2.0.0-alpha.35
- refs/tags/2.0.0-alpha.36
- refs/tags/2.0.0-alpha.37
- refs/tags/2.0.0-alpha.38
- refs/tags/2.0.0-alpha.39
- refs/tags/2.0.0-alpha.40
- refs/tags/2.0.0-alpha.41
- refs/tags/2.0.0-alpha.42
- refs/tags/2.0.0-alpha.44
- refs/tags/2.0.0-alpha.45
- refs/tags/2.0.0-alpha.46
- refs/tags/2.0.0-alpha.47
- refs/tags/2.0.0-alpha.48
- refs/tags/2.0.0-alpha.49
- refs/tags/2.0.0-alpha.50
- refs/tags/2.0.0-alpha.51
- refs/tags/2.0.0-alpha.52
- refs/tags/2.0.0-alpha.53
- refs/tags/2.0.0-alpha.54
- refs/tags/2.0.0-alpha.55
- refs/tags/2.0.0-beta.0
- refs/tags/2.0.0-beta.1
- refs/tags/2.0.0-beta.10
- refs/tags/2.0.0-beta.11
- refs/tags/2.0.0-beta.12
- refs/tags/2.0.0-beta.13
- refs/tags/2.0.0-beta.14
- refs/tags/2.0.0-beta.15
- refs/tags/2.0.0-beta.16
- refs/tags/2.0.0-beta.17
- refs/tags/2.0.0-beta.2
- refs/tags/2.0.0-beta.3
- refs/tags/2.0.0-beta.4
- refs/tags/2.0.0-beta.5
- refs/tags/2.0.0-beta.6
- refs/tags/2.0.0-beta.7
- refs/tags/2.0.0-beta.8
- refs/tags/2.0.0-beta.9
- refs/tags/2.0.0-build.006a96d.js
- refs/tags/2.0.0-build.00822c3.dart
- refs/tags/2.0.0-build.00822c3.js
- refs/tags/2.0.0-build.015faee.dart
- refs/tags/2.0.0-build.015faee.js
- refs/tags/2.0.0-build.016ab31.dart
- refs/tags/2.0.0-build.016ab31.js
- refs/tags/2.0.0-build.019cb41.dart
- refs/tags/2.0.0-build.019cb41.js
- refs/tags/2.0.0-build.01ba94b.dart
- refs/tags/2.0.0-build.01ba94b.js
- refs/tags/2.0.0-build.0206d72.dart
- refs/tags/2.0.0-build.0206d72.js
- refs/tags/2.0.0-build.020ce32.dart
- refs/tags/2.0.0-build.020ce32.js
- refs/tags/2.0.0-build.0290362.dart
- refs/tags/2.0.0-build.0290362.js
- refs/tags/2.0.0-build.03823d4.dart
- refs/tags/2.0.0-build.03823d4.js
- refs/tags/2.0.0-build.039ed3b.dart
- refs/tags/2.0.0-build.039ed3b.js
- refs/tags/2.0.0-build.03e3035.dart
- refs/tags/2.0.0-build.03e3035.js
- refs/tags/2.0.0-build.041c599.dart
- refs/tags/2.0.0-build.041c599.js
- refs/tags/2.0.0-build.046758c.dart
- refs/tags/2.0.0-build.046758c.js
- refs/tags/2.0.0-build.0544e07.dart
- refs/tags/2.0.0-build.0544e07.js
- refs/tags/2.0.0-build.059e09c.dart
- refs/tags/2.0.0-build.059e09c.js
- refs/tags/2.0.0-build.05fa1fd.dart
- refs/tags/2.0.0-build.05fa1fd.js
- refs/tags/2.0.0-build.05fb269.dart
- refs/tags/2.0.0-build.05fb269.js
- refs/tags/2.0.0-build.0614797.dart
- refs/tags/2.0.0-build.0614797.js
- refs/tags/2.0.0-build.065ac93.dart
- refs/tags/2.0.0-build.065ac93.js
- refs/tags/2.0.0-build.06b2aa1.dart
- refs/tags/2.0.0-build.06b2aa1.js
- refs/tags/2.0.0-build.06d076a.dart
- refs/tags/2.0.0-build.06d076a.js
- refs/tags/2.0.0-build.06e32eb.dart
- refs/tags/2.0.0-build.06e32eb.js
- refs/tags/2.0.0-build.070d818.dart
- refs/tags/2.0.0-build.070d818.js
- refs/tags/2.0.0-build.071165f.dart
- refs/tags/2.0.0-build.071165f.js
- refs/tags/2.0.0-build.074075d.dart
- refs/tags/2.0.0-build.074075d.js
- refs/tags/2.0.0-build.080469f.dart
- refs/tags/2.0.0-build.080469f.js
- refs/tags/2.0.0-build.0815a77.dart
- refs/tags/2.0.0-build.0815a77.js
- refs/tags/2.0.0-build.093b794.dart
- refs/tags/2.0.0-build.093b794.js
- refs/tags/2.0.0-build.0a3a17f.dart
- refs/tags/2.0.0-build.0a3a17f.js
- refs/tags/2.0.0-build.0a44fc6.dart
- refs/tags/2.0.0-build.0a44fc6.js
- refs/tags/2.0.0-build.0ae7775.dart
- refs/tags/2.0.0-build.0ae7775.js
- refs/tags/2.0.0-build.0b6e75a.dart
- refs/tags/2.0.0-build.0b6e75a.js
- refs/tags/2.0.0-build.0c9596a.dart
- refs/tags/2.0.0-build.0c9596a.js
- refs/tags/2.0.0-build.0cdf280.dart
- refs/tags/2.0.0-build.0cdf280.js
- refs/tags/2.0.0-build.0db0252.dart
- refs/tags/2.0.0-build.0db0252.js
- refs/tags/2.0.0-build.0df8bc4.dart
- refs/tags/2.0.0-build.0df8bc4.js
- refs/tags/2.0.0-build.0ec9ccf.dart
- refs/tags/2.0.0-build.0ec9ccf.js
- refs/tags/2.0.0-build.0ef6809.dart
- refs/tags/2.0.0-build.0ef6809.js
- refs/tags/2.0.0-build.0f85b36.dart
- refs/tags/2.0.0-build.0f85b36.js
- refs/tags/2.0.0-build.0f8e40b.dart
- refs/tags/2.0.0-build.0f8e40b.js
- refs/tags/2.0.0-build.116015b.dart
- refs/tags/2.0.0-build.116015b.js
- refs/tags/2.0.0-build.125fa38.dart
- refs/tags/2.0.0-build.125fa38.js
- refs/tags/2.0.0-build.132829e.dart
- refs/tags/2.0.0-build.132829e.js
- refs/tags/2.0.0-build.13e6354.dart
- refs/tags/2.0.0-build.13e6354.js
- refs/tags/2.0.0-build.140ce9f.dart
- refs/tags/2.0.0-build.140ce9f.js
- refs/tags/2.0.0-build.1417e12.dart
- refs/tags/2.0.0-build.1417e12.js
- refs/tags/2.0.0-build.15f5f27.dart
- refs/tags/2.0.0-build.15f5f27.js
- refs/tags/2.0.0-build.1607ef8.dart
- refs/tags/2.0.0-build.1607ef8.js
- refs/tags/2.0.0-build.16d9c60.dart
- refs/tags/2.0.0-build.16d9c60.js
- refs/tags/2.0.0-build.16e74cf.dart
- refs/tags/2.0.0-build.16e74cf.js
- refs/tags/2.0.0-rc.0
- refs/tags/2.0.0-rc.1
- refs/tags/2.0.0-rc.2
- refs/tags/2.0.0-rc.3
- refs/tags/2.0.0-rc.4
- refs/tags/2.0.0-rc.5
- refs/tags/2.0.0-rc.6
- refs/tags/2.0.0-rc.7
- refs/tags/2.0.1
- refs/tags/2.0.2
- refs/tags/2.1.0
- refs/tags/2.1.0-beta.0
- refs/tags/2.1.0-rc.0
- refs/tags/2.1.1
- refs/tags/2.1.2
- refs/tags/2.2.0
- refs/tags/2.2.0-beta.0
- refs/tags/2.2.0-beta.1
- refs/tags/2.2.0-rc.0
- refs/tags/2.2.1
- refs/tags/2.2.2
- refs/tags/2.2.3
- refs/tags/2.2.4
- refs/tags/2.3.0
- refs/tags/2.3.0-beta.0
- refs/tags/2.3.0-beta.1
- refs/tags/2.3.0-rc.0
- refs/tags/2.3.1
- refs/tags/2.4.0
- refs/tags/2.4.0-marker
- refs/tags/2.4.1
- refs/tags/2.4.10
- refs/tags/2.4.2
- refs/tags/2.4.3
- refs/tags/2.4.4
- refs/tags/2.4.5
- refs/tags/2.4.6
- refs/tags/2.4.7
- refs/tags/2.4.8
- refs/tags/2.4.9
- refs/tags/4.0.0
- refs/tags/4.0.0-beta.0
- refs/tags/4.0.0-beta.1
- refs/tags/4.0.0-beta.2
- refs/tags/4.0.0-beta.3
- refs/tags/4.0.0-beta.4
- refs/tags/4.0.0-beta.5
- refs/tags/4.0.0-beta.6
- refs/tags/4.0.0-beta.7
- refs/tags/4.0.0-beta.8
- refs/tags/4.0.0-rc.1
- refs/tags/4.0.0-rc.2
- refs/tags/4.0.0-rc.3
- refs/tags/4.0.0-rc.4
- refs/tags/4.0.0-rc.5
- refs/tags/4.0.0-rc.6
- refs/tags/4.0.1
- refs/tags/4.0.2
- refs/tags/4.0.3
- refs/tags/4.1.0
- refs/tags/4.1.0-beta.0
- refs/tags/4.1.0-beta.1
- refs/tags/4.1.0-rc.0
- refs/tags/4.1.1
- refs/tags/4.1.2
- refs/tags/4.1.3
- refs/tags/4.2.0
- refs/tags/4.2.0-beta.0
- refs/tags/4.2.0-beta.1
- refs/tags/4.2.0-rc.0
- refs/tags/4.2.0-rc.1
- refs/tags/4.2.0-rc.2
- refs/tags/4.2.1
- refs/tags/4.2.2
- refs/tags/4.2.3
- refs/tags/4.2.4
- refs/tags/4.2.5
- refs/tags/4.2.6
- refs/tags/4.3.0
- refs/tags/4.3.0-beta.0
- refs/tags/4.3.0-beta.1
- refs/tags/4.3.0-rc.0
- refs/tags/4.3.1
- refs/tags/4.3.2
- refs/tags/4.3.3
- refs/tags/4.3.4
- refs/tags/4.3.5
- refs/tags/4.3.6
- refs/tags/4.4.0
- refs/tags/4.4.0-RC.0
- refs/tags/4.4.1
- refs/tags/4.4.2
- refs/tags/4.4.3
- refs/tags/4.4.4
- refs/tags/4.4.5
- refs/tags/4.4.6
- refs/tags/4.4.7
- refs/tags/5.0.0
- refs/tags/5.0.0-beta.0
- refs/tags/5.0.0-beta.1
- refs/tags/5.0.0-beta.2
- refs/tags/5.0.0-beta.3
- refs/tags/5.0.0-beta.4
- refs/tags/5.0.0-beta.5
- refs/tags/5.0.0-beta.6
- refs/tags/5.0.0-beta.7
- refs/tags/5.0.0-rc.0
- refs/tags/5.0.0-rc.1
- refs/tags/5.0.0-rc.2
- refs/tags/5.0.0-rc.3
- refs/tags/5.0.0-rc.4
- refs/tags/5.0.0-rc.5
- refs/tags/5.0.0-rc.6
- refs/tags/5.0.0-rc.7
- refs/tags/5.0.0-rc.8
- refs/tags/5.0.0-rc.9
- refs/tags/5.0.1
- refs/tags/5.0.2
- refs/tags/5.0.3
- refs/tags/5.0.4
- refs/tags/5.0.5
- refs/tags/5.1.0
- refs/tags/5.1.0-beta.0
- refs/tags/5.1.0-beta.1
- refs/tags/5.1.0-beta.2
- refs/tags/5.1.0-rc.0
- refs/tags/5.1.0-rc.1
- refs/tags/5.1.1
- refs/tags/5.1.2
- refs/tags/5.1.3
- refs/tags/5.2.0
- refs/tags/5.2.0-beta.0
- refs/tags/5.2.0-beta.1
- refs/tags/5.2.0-rc.0
- refs/tags/5.2.1
- 203a3d59a0194fc839e00912ef46bc933d66d817
- Branches list truncated to 1000 entries, 242 were omitted.
- 12.0.0
- Releases list truncated to 1 entries, 8 were omitted.
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
203a3d5 | Alex Rickabaugh | 14 December 2023, 00:31:25 UTC | release: cut the v17.0.7 release | 14 December 2023, 00:35:33 UTC |
c16b5e8 | Andrew Scott | 12 December 2023, 22:44:52 UTC | fix(core): Multiple subscribers to ApplicationRef.isStable should all see values (#53541) The behavior of `ApplicationRef.isStable` changed in 16.1 due to https://github.com/angular/angular/commit/28c68f709cdc930e12bac51a266e7bf790656034. This change added a `share` to the `isStable` observable, which prevents additional subscribers from getting a value until a new one emits. One solution to the problem would be `shareReplay(1)`. However, that would increase the bundle size since we do not use `shareReplay` elsewhere. Instead, we don't even really need to share the observable. The `Observable` available in `ApplicationRef.isStable` before the above commit was the zone stable observable, without a `share`. The new behavior adds only an additional observable to the stream, `hasPendingTasks` (a `BehaviorSubject`). The observables in this stream are not expensive to subscribe to. The only one with side effects is the `isStable` (because it subscribes to onStable), but that one already has the `share` operator on it. Omitting the `share` in `ApplicationRef` also means that applications on `zoneless` will not have to pay the cost of the operator when we make zones optional because the zone stable observable is the only place we use it. PR Close #53541 | 13 December 2023, 19:26:52 UTC |
79d8736 | Matthieu Riegler | 12 December 2023, 20:56:05 UTC | build: remove `seek-bzip` dependency (#53536) `seek-bzip` isn't used anymore, let's remove it. PR Close #53536 | 13 December 2023, 19:26:13 UTC |
1c55c49 | Jessica Janiuk | 12 December 2023, 21:55:38 UTC | refactor(migrations): CF migration - add support for not reformatting i18n tags (#53538) Internationalization is whitespace sensitive. This change updates the formatting code to process for i18n attributes and prevent reformatting those sections of the template. PR Close #53538 | 13 December 2023, 17:34:55 UTC |
d5c631b | Vincent | 13 December 2023, 13:11:46 UTC | fix(platform-browser): Get correct base path when using "." as base href when serving from the file:// protocol. (#53547) Using http://a as the base URL returns / instead of the actual base path when using the file:// protocol. Using document.baseURI addresses this. Fixes #53546 PR Close #53547 | 13 December 2023, 17:26:56 UTC |
5b4add2 | Kara Erickson | 13 December 2023, 00:01:46 UTC | fix(core): update feature usage marker (#53542) This commit updates the name of the 'performance.mark' counter used to track feature usage. It now matches the name agreed upon by W3C for this use case: https://github.com/w3c/user-timing/pull/108 PR Close #53542 | 13 December 2023, 17:24:11 UTC |
e88a12d | Jessica Janiuk | 12 December 2023, 18:39:31 UTC | fix(migrations): cf migration validate structure of ngswitch before migrating (#53530) This fix handles the common case where an ngswitch might have invalid syntax post migration. This is likely due to using elements other than case or default underneath the ngswitchcase. This will fail out of the migration for that file when these cases are detected with a useful console message. fixes: #53234 PR Close #53530 | 13 December 2023, 17:23:17 UTC |
c9a1c6f | Jessica Janiuk | 12 December 2023, 16:54:49 UTC | fix(migrations): cf migration - undo changes when html fails to parse post migration (#53530) In the case that a template has some sort of structural issue prior to migrating, like a tag that is not properly closed resulting in invalid HTML post migration, this will attempt to parse the html after migrating and revert to the original structure. An error during migration will be reported out instead. PR Close #53530 | 13 December 2023, 17:23:16 UTC |
4772da7 | cexbrayat | 12 December 2023, 17:51:39 UTC | refactor(core): remove no longer needed FlushableEffectRunner private export (#53525) It is no longer needed after https://github.com/angular/angular/commit/70a442eb023096b329ea2c0c7010df5339993fe7 PR Close #53525 | 13 December 2023, 17:22:42 UTC |
cdedd00 | Dylan Hunn | 11 December 2023, 23:38:26 UTC | refactor(compiler): Support `o.WrappedNodeExpr` inside expression conversion (#53478) `o.WrappedNodeExpr` can show up in some cases, when a host binding's value is inside a TS expression. It's an open question whether we will need to support all of the TS expression types as a result. PR Close #53478 | 13 December 2023, 17:21:54 UTC |
0427d7a | Dylan Hunn | 11 December 2023, 06:11:28 UTC | refactor(compiler): Fix a bug involving listeners with targets (#53478) For some reason, the parser reuses the same field to store the animation phase and the event target. We were incorrectly interpreting the presence of any value on that field as an animation phase, leading us to incorrectly emit synthetic listener instructions for listeners on events with targets. This bug is now fixes. PR Close #53478 | 13 December 2023, 17:21:54 UTC |
79a7e02 | Dylan Hunn | 10 December 2023, 09:01:16 UTC | refactor(compiler): Support `$any` in host bindings (#53478) `$any` should be interpreted as a cast, not as a context read of a variable called `$any`. This already worked in template compilations, but the relevant phase was not enabled for host bindings. PR Close #53478 | 13 December 2023, 17:21:54 UTC |
4fd5409 | Kristiyan Kostadinov | 17 November 2023, 13:57:02 UTC | fix(compiler): handle ambient types in input transform function (#51474) Fixes that the compiler was throwing an error if an ambient type is used inside of an input `transform` function. The problem was that the reference emitter was trying to write a reference to the ambient type's source file which isn't necessary. Fixes #51424. PR Close #51474 | 13 December 2023, 17:15:17 UTC |
57ac806 | Joey Perrott | 12 December 2023, 23:37:32 UTC | feat(docs-infra): put the editor back in angular/angular (#53540) Puts the editor back in angular/angular until we are able to set up a package containing a worker as needed for this project PR Close #53540 | 12 December 2023, 23:48:45 UTC |
9a91e0f | mgechev | 12 December 2023, 21:36:57 UTC | docs: add state of js survey link (#53537) PR Close #53537 | 12 December 2023, 22:32:12 UTC |
e750e4e | Alan Agius | 12 December 2023, 15:51:34 UTC | fix(router): provide more actionable error message when route is not matched in production mode (#53523) Prior to this commit when a route is not matched and the application was running in production mode an `[Error]: NG04002` was logged in the console. This however, is not actionable when the application is running on the server where there can be multiple pages being rendered at the same time. Now we change this to also log the route example: `[Error]: NG04002: 'products/Jeep'`. Closes #53522 PR Close #53523 | 12 December 2023, 22:31:25 UTC |
a603338 | Kristiyan Kostadinov | 12 December 2023, 08:12:45 UTC | fix(compiler-cli): generate less type checking code in for loops (#53515) The ops for the implicit variables in `@for` loops (e.g. `$index`) are marked as being mandatory which means that they're generated even if they aren't used. These changes make them optional so they're only added when necessary. PR Close #53515 | 12 December 2023, 22:30:36 UTC |
27235f1 | Miles Malerba | 11 December 2023, 23:23:03 UTC | refactor(compiler): Add sanitization support for host bindings (#53513) Adds support for sanitizing host bindings. Since the tag name of the element the host binding is being set on isn't always known, we have to consider multiple possible security contexts. This commit also adds additional tests to help verify correct behavior of the sanitization logic for different edge cases. PR Close #53513 | 12 December 2023, 22:30:11 UTC |
659b88d | Andrew Scott | 07 December 2023, 22:59:20 UTC | refactor(core): Update flaky test with wait condition (#53437) The tests in this commit have been flaky commonly due to the elements not being found. Hopefully using `ExpectedConditions` helps. PR Close #53437 | 12 December 2023, 17:09:10 UTC |
b75aca1 | Jessica Janiuk | 11 December 2023, 22:12:38 UTC | fix(migrations): CF migration only remove newlines of changed template content (#53508) The formatting logic would eliminate all newlines in updated template code. This adds start and end markers for tracking when the formatter is in a block of template code that changed or not. It should leave behind any newlines that are outside of a migrated section. fixes: #53494 PR Close #53508 | 12 December 2023, 17:03:16 UTC |
d232ea1 | Jessica Janiuk | 11 December 2023, 18:05:30 UTC | fix(migrations): fix cf migration import removal when errors occur (#53502) When migrating a component and the associated external template, if errors occur, the component should not remove the common module imports. This fix should allow the application to still build in that instance. PR Close #53502 | 12 December 2023, 17:02:32 UTC |
617dc53 | Aditya Kumar | 11 December 2023, 03:37:14 UTC | docs: Smart quote that breaks code block (#53488) Signed-off-by: Aditya Kumar <aditya.kumar60@infosys.com> PR Close #53488 | 12 December 2023, 17:02:02 UTC |
087e06a | Miles Malerba | 11 December 2023, 17:14:55 UTC | refactor(compiler): Simplify how sanitizers are generated (#53473) Previously we generated an intermediate expression which was later converted into a symbol import expression for the sanitizer function. This commit simplifies the behavior by just generating the symbol import from the beginning PR Close #53473 | 12 December 2023, 17:00:36 UTC |
93264b5 | Miles Malerba | 09 December 2023, 18:41:13 UTC | refactor(compiler): Generate trusted const values for extracted attrs (#53473) Use the DomElementSchemaRegistry to determine the correct security context for static attributes, and pass it along during ingestion. Then during the resolve sanitizers phase, use the security context to determine if a trusted value function is needed PR Close #53473 | 12 December 2023, 17:00:36 UTC |
68d111c | Pawel Kozlowski | 11 December 2023, 16:23:38 UTC | perf(core): avoid changes Observable creation on QueryList (#53498) The changes Observable (impl: EventEmitter) on the QueryList is initalized lazy - it is created only if someone calls a geter to get a hand on its instance. But the destroy method was calling this getter thus creating a new Observable even if no one subscribed to it. This commit changes the destroy logic to skip creation of an EventEmitter if it wasn't initialized. PR Close #53498 | 12 December 2023, 17:00:08 UTC |
17610fa | Matthieu Riegler | 09 December 2023, 22:35:48 UTC | build: remove `incremental-dom` dependency (#53474) The usage of this dependency has been removed in #50108 PR Close #53474 | 11 December 2023, 22:04:53 UTC |
7fa791e | Dylan Hunn | 11 December 2023, 19:01:53 UTC | refactor(compiler): Make some fixups to template binidng ingestion (#53457) Responding to comments on #53457 about the previous sequence of template binding PRs. PR Close #53457 | 11 December 2023, 22:03:43 UTC |
7967d28 | Dylan Hunn | 10 December 2023, 00:48:40 UTC | refactor(compiler): Fix animation bindings on structural elements (#53457) Consider the case: ``` <button *ngIf="true" [@anim]="field"></button> ``` Only the inner `button` should recieve a `property` instruction for the animation binding. We were previously emitting one for the implicit `ng-template` as well, and collecting it into the consts for the `ng-template`. Both of these issues are now fixed. PR Close #53457 | 11 December 2023, 22:03:43 UTC |
a15a012 | Dylan Hunn | 09 December 2023, 20:48:05 UTC | refactor(compiler): Fix some behavior with bindings on explicit `ng-template` elements (#53457) The behavior of explicit bindings on `ng-template`s was untested, and we differed from `TemplateDefinitionBuilder` significantly. We now have much more similar behavior, although not 100% identical. For example, consider this templarte: ``` <ng-template l="l1" [p]="p1" [attr.a]="a1" [class.c]="c1"></ng-template> ``` It's not clear what a class binding on an `ng-template` would actually do. Nonetheless, it's well-defined behavior in TemplateDefinitionBuilder, which emits `property` instructions for all three bindings, and people actually do this in google3. Note that some of these bindings don't really make much sense, but we have to support them for compatibility purposes. See comments for an in-depth explanation of all the logic. Also, add a test to exercise the problematic case. PR Close #53457 | 11 December 2023, 22:03:43 UTC |
b2e5a20 | Dylan Hunn | 09 December 2023, 00:45:50 UTC | refactor(compiler): Eliminate `BindingFlags` and reorder parameters of `createTemplateBinding` (#53457) It turns out that `BindingFlags.BindingTargetsTemplate` is actally a redundant property! It will be true in either of the following cases: 1. The template is a normal non-structural `ng-template`. We already know this from `TemplateKind`. 2. The binding came from `templateAttrs` (instead of `attrs`). We have this information in `BindingFlags.IsStructuralTemplateAttribute`. Therefore, I can just eliminate `BindingFlags.BindingTargetsTemplate`. There's no reason to keep `BindingFlags` around for a single value, so I convert `BindingFlags.IsStructuralTemplateAttribute` to a boolean parameter (with the eventual goal of eliminating it entirely). Additionally, because element binding ingestion now calls `ir.createBindingOp` inline, it was difficult to compare it to template binding ingestion, which uses the `createTemplateBinding` helper. I have changed the parameter order of `createTemplateBinding` to closely mimic `ir.createBindingOp`. This will both make the code easier to read, and allow me to easily replace one with the other in the future. Lastly: the template binding ingestion function is the site of much of the binding ingestion complexity. Add an explanatory function comment. PR Close #53457 | 11 December 2023, 22:03:43 UTC |
694e6ae | Dylan Hunn | 08 December 2023, 23:42:40 UTC | refactor(compiler): Split up binding ingestion for elements and templates (#53457) Previously, we had `ingestBindings` and `ingestBinding`, which required tons of cases to support both elements and templates. Now, we have two separate functions, `ingestElementBindings` and `ingestTemplateBindings`. Thanks to the previous refactoring work, `ingestBinding` is now extremely compact. In fact, it's so compact that, in the elements case, it can just be inlined! Therefore, element binding ingestion is now quite easy to read. The template case continues to be pretty gnarly, although I have already removed some code. In subsequent commits, we will simplify it even further. PR Close #53457 | 11 December 2023, 22:03:43 UTC |
876f90a | Dylan Hunn | 08 December 2023, 22:23:30 UTC | refactor(compiler): Simplify some code in ingest (#53457) Currently Template Pipeline's ingest phase is very complex, especially when it comes to ingesting bindings. In this commit, we make some superficial simplifications, in preparation for a larger refactoring. For example, we pull out common code such as `convertAstWithInterpolation` and the `i18n.Message` checks. This enormously shrinks the main binding ingestion functions. In addition, we reorder the binding kind and flags code above `ingestBindings`, so that `ingestBindings` and `ingestBinding` can be viewed together. PR Close #53457 | 11 December 2023, 22:03:43 UTC |
1faa61f | Dylan Hunn | 08 December 2023, 19:18:01 UTC | refactor(compiler): Don't emit class and style bindings on structural template views (#53457) The Template Pipeline has had a number of tricky bugs involving bindings on structural elements. Consider this template: ``` <div *ngIf="true" [class.bar]="field"></div> ``` We were incorrectly emitting `ɵɵclassProp` on *both* the template's view, and the inner view. The solution is to just emit an extracted attribute on the enclosing template, so it still shows up in the const array, but does not affect the update block. We will refactor binding ingestion soon, but this commit improves our correctness before any big refactor. PR Close #53457 | 11 December 2023, 22:03:43 UTC |
9bb34a2 | Joey Perrott | 11 December 2023, 21:14:32 UTC | build: drop rxjs_umd_modules as it is unused (#53506) Drop rxjs_umd_modules bazel target as its not longer used and will become a blocker to rxjs>6 PR Close #53506 | 11 December 2023, 21:35:50 UTC |
1ea8a14 | Joey Perrott | 11 December 2023, 17:33:23 UTC | refactor(docs-infra): move versions information into the application (#53501) Move the versions information into the application for now PR Close #53501 | 11 December 2023, 19:21:34 UTC |
ba19d80 | Joey Perrott | 07 December 2023, 20:57:21 UTC | refactor(docs-infra): refactor adev to build using architect (#53497) Refactor adev as needed to build using architect. PR Close #53497 | 11 December 2023, 19:21:08 UTC |
24d8aa6 | JiaLiPassion | 07 December 2023, 13:41:32 UTC | fix(zone.js): Promise.resolve(subPromise) should return subPromise (#53423) In the original `Promise` impelmentation, zone.js follow the spec from https://promisesaplus.com/#point-51. ``` const p1 = Promise.resolve(1); const p2 = Promise.resolve(p1); p1 === p2; // false ``` in this case, `p2` should be the same status with `p1` but they are still different instances. And for some edge case. ``` class MyPromise extends Promise { constructor(sub) { super((res) => res(null)); this.sub = sub; } then(onFufilled, onRejected) { this.sub.then(onFufilled, onRejected); } } const p1 = new Promise(setTimeout(res), 100); const myP = new MyPromise(p1); const r = await myP; r === 1; // false ``` So in the above code, `myP` is not the same instance with `p1`, and since `myP` is resolved in constructor, so `await myP` will just pass without waiting for `p1`. And in the current `tc39` spec here https://tc39.es/ecma262/multipage/control-abstraction-objects.html#sec-promise-resolve `Promise.resolve(subP)` should return `subP`. ``` const p1 = Promise.resolve(1); const p2 = Promise.resolve(p1); p1 === p2; // true ``` So the above `MyPromise` can wait for the `p1` correctly. PR Close #53423 | 11 December 2023, 18:55:12 UTC |
044cb55 | Pawel Kozlowski | 17 October 2023, 15:11:52 UTC | perf(core): optimize memory allocation when reconcilling lists (#52245) This change replaces the implementation of the multi-map used to store detached views while reconciling lists. The new implementation optimizes memory allocation for such map and avoid arrays allocation when there are no duplicated keys. PR Close #52245 | 08 December 2023, 23:00:14 UTC |
f88b77b | Joey Perrott | 08 December 2023, 21:03:37 UTC | build: migrate adev generation to @angular/docs package (#53458) Use the new rule from @angular/docs for generating guides PR Close #53458 | 08 December 2023, 22:33:34 UTC |
2f26159 | Joey Perrott | 08 December 2023, 18:01:23 UTC | build: remove already migrated adev build tooling (#53454) Remove the tooling as its now in dev-infra PR Close #53454 | 08 December 2023, 22:32:55 UTC |
abc0b15 | Miles Malerba | 08 December 2023, 00:39:25 UTC | refactor(compiler): Add i18n support for @defer blocks (#53440) Pass through the i18n placeholders for the various parts of the defer block during ingestion so its i18n message can be constructed PR Close #53440 | 08 December 2023, 22:32:31 UTC |
4ed5845 | Miles Malerba | 08 December 2023, 00:13:58 UTC | refactor(compiler): Ensure consistent handling of @empty template (#53440) Phases that walk through the views by following template and repeater ops need to remember to check the empty view as well for repeaters. This commit adds fixes for phases that were missing it, or comments explaining why its not handled. PR Close #53440 | 08 December 2023, 22:32:31 UTC |
101302b | Miles Malerba | 07 December 2023, 23:25:21 UTC | refactor(compiler): Add i18n support for @for blocks (#53440) @for does not use actual TemplateOps, but instead has a similar RepeaterCreateOp. This commit adds support for this op to the relevant i18n phases. PR Close #53440 | 08 December 2023, 22:32:31 UTC |
96ab999 | Jessica Janiuk | 07 December 2023, 22:20:04 UTC | fix(migrations): CF Migration - ensure bound ngIfElse cases ignore line breaks (#53435) When using ternaries or other expressions in bound if / else cases, it is possible that line breaks could end up affecting template replacement. fixes: #53428 PR Close #53435 | 08 December 2023, 22:31:25 UTC |
c4d6dad | Andrew Scott | 07 December 2023, 17:15:46 UTC | refactor(core): Clean up subscription handling in ComponentFixture (#53426) The subscriptions can be managed by a single subscription and unsubscribe on destroy PR Close #53426 | 08 December 2023, 22:30:14 UTC |
0004eed | Andrew Scott | 07 December 2023, 21:21:57 UTC | refactor(core): Separate application and platform files even more (#53371) This separates application and platform code into even more files. This now removes the ciruclar dependency between scheduling and application ref. PR Close #53371 | 08 December 2023, 22:29:47 UTC |
469fe25 | Andrew Scott | 05 December 2023, 21:40:35 UTC | refactor(core): Move code out of application_ref (#53371) The application_ref is somewhat of a dumping ground for code. This commit moves things around into more appropriately separate files. PR Close #53371 | 08 December 2023, 22:29:47 UTC |
9932439 | Miles Malerba | 08 December 2023, 21:14:46 UTC | test(compiler): fix legacy message id test (#53459) This test actually passes, template pipeline just orders the translated messages and consts array differently. Since the order isn't important, we just fork off an alternate golden file for template pipeline. PR Close #53459 | 08 December 2023, 22:28:28 UTC |
a398c55 | Dylan Hunn | 07 December 2023, 22:39:58 UTC | refactor(compiler): Fix out-of-order i18n issue (#53405) Fix a bug in the i18n retargeting and reordering phase. PR Close #53405 | 08 December 2023, 17:37:57 UTC |
a169dd0 | Dylan Hunn | 07 December 2023, 22:57:01 UTC | refactor(compiler): Fix extra attribute on ng-template (#53405) We no longer emit extra attribute instructions on certain `ng-template` elements with attributes. PR Close #53405 | 08 December 2023, 17:37:57 UTC |
0bacc03 | Dylan Hunn | 07 December 2023, 22:21:22 UTC | refactor(compiler): Add an additional failing test about i18n ordering (#53405) I discovered this failure while looking at presubmit results. We appear to still have ordering issues, when more update ops are present. PR Close #53405 | 08 December 2023, 17:37:57 UTC |
de6ec5f | Dylan Hunn | 07 December 2023, 19:20:34 UTC | refactor(compiler): Add failing tests about structural attr bindings (#53405) While running a g3 presubmit, I discovered two related novel failure modes: 1. Simple case: this new test uses an `ngFor` structural directive, which binds a context variable. That variable is immediately used in an attribute binding. It looks like we generate an extra attribute instruction, which might result in an invalid property read at runtime. 2. Complex case: this is another attribute binding, this time on a structural element, inside of an `ng-template`. Not sure what's going on here. PR Close #53405 | 08 December 2023, 17:37:57 UTC |
6dc3388 | Dylan Hunn | 06 December 2023, 23:59:51 UTC | refactor(compiler): Enable meaning_description i18n test in template pipeline (#53405) The meaning decription test has different i18n message orders, as well as a different const order, but it is in fact passing. PR Close #53405 | 08 December 2023, 17:37:56 UTC |
24177e9 | Dylan Hunn | 06 December 2023, 23:40:32 UTC | refactor(compiler): Keep a TemplateKind on various binding ops (#53405) Previously, binding ops only knew whether they applied to a structural template (and even this was actually very misleading!). Now, binding ops have full information about what kind of template they apply to, if any (e.g. plain template, structural template, etc). Additionally, each binding knows whether it `IsStructuralTemplateAttribute`, which is a property of the binding rather than the template target. In the future, we should refactor this to unify the various flags that can describe binding types, as well as the flags that describe template targets, into a single and comprehensive field on binding ops. PR Close #53405 | 08 December 2023, 17:37:56 UTC |
16b7fca | Dylan Hunn | 06 December 2023, 22:54:06 UTC | refactor(compiler): Move the creation of i18n attribute contexts into a phase (#53405) Previously, we created i18n contexts for i18n attributes in ingest. This turned out to be the wrong approach, because we don't always want to produce i18n messages for all i18n attributes! In fact, several kinds of i18n attributes on elements with structural directives should not produce their own messages. This commit also contains related refactors to fix one such structural directives test. PR Close #53405 | 08 December 2023, 17:37:56 UTC |
fd54911 | Dylan Hunn | 06 December 2023, 21:23:39 UTC | refactor(compiler): Don't create i18n context ops for attribute bindings on structural templates (#53405) When a binding is present on an element with a structural directive, that binding is parsed onto *both* the synthetic `ng-template`, as well as the inner element. However, we do not want to create different i18n messages for both bindings; we only want to generate a new i18n message for the inner, "real" element. PR Close #53405 | 08 December 2023, 17:37:56 UTC |
19daa07 | Dylan Hunn | 06 December 2023, 19:47:21 UTC | refactor(compiler): Listeners should be ingested before i18nStart (#53405) Listener instructions should not be inside the i18n block. In order to avoid this, we ingest bindings on an element before starting the i18n block. We previously missed this case because almost all bindings result in *update* instructions, which don't need to be ordered relative to i18nStart/i18nEnd create instructions. However, listeners are the only kind of binding that gets ingested into the create block. PR Close #53405 | 08 December 2023, 17:37:56 UTC |
3c12cd7 | Dylan Hunn | 06 December 2023, 19:12:53 UTC | refactor(compiler): Fix i18nExp moving phase in Template Pipeline (#53405) Previously, our i18n slot moving process was buggy. Specifically, it was not resilient to cases in which a create op consumed a slot, but no update ops depended on that slot. The new algorithm fixes this issue, and is also easier to understand. PR Close #53405 | 08 December 2023, 17:37:56 UTC |
17dbf8b | Pawel Kozlowski | 08 December 2023, 10:12:27 UTC | fix(core): remove signal equality check short-circuit (#53446) The PR https://github.com/angular/angular/pull/52465 introduced short-circuit for the signal equality invocation - with the reasoning that the equality function should never return false for arguments with the same references. In practice it turned out that it is rather surprising and the subsequent PR https://github.com/angular/angular/pull/52532 added a warning when the short-circuit was taking priority over the equality function. Still, the presence of the short-circuit prevents people from mutating objects in place and based on https://github.com/angular/angular/issues/52735 this is a common and desired scenario. This change removes the short-circuit altogether and thus fixes the mentioned issue. We do recognize that removing short-circuit exposes developers to the potentially surprising logic where mutated in-place change won't be propagated throug the reactivity graph (due to the deault equality function). But we assume that this might be less surprising / more desirable as compared to the short-circuit logic. Fixes #52735 PR Close #53446 | 08 December 2023, 15:05:35 UTC |
58ed76b | Andrew Scott | 06 December 2023, 00:34:55 UTC | fix(core): Avoid refreshing a host view twice when using transplanted views (#53021) This change fixes and issue where the expectation was that change detection always goes through `detectChangesInView`. In reality, `detectChangesInternal` directly calls `refreshView` and refreshes a view directly without checking if it was dirty (to my discontent). This update changes the implementation of `detectChangesInternal` to actually be "detect changes" not "force refresh of root view and detect changes". In addition, it adds the refresh flag to APIs that were previously calling `detectChangesInternal` so we get the same behavior as before (host view is forced to refresh). Note that the use of `RefreshView` instead of `Dirty` is _intentional_ here. The `RefreshView` flag is cleared before refreshing the view while the `Dirty` flag is cleared at the very end. Using the `Dirty` flag could have consequences because it is a more long-lasting change to the view flags. Because `detectChangesInView` will immediately clear the `RefreshView` flag, this change is much more limited and does not result in a different set of flags during the view refresh. PR Close #53021 | 07 December 2023, 20:05:24 UTC |
543df3d | Jessica Janiuk | 06 December 2023, 14:55:59 UTC | fix(migrations): ensure we do not overwrite prior template replacements in migration (#53393) This fixes a bug where only the last replacement of a template placeholder would apply. fixes: #53383 PR Close #53393 | 07 December 2023, 17:36:03 UTC |
65f9115 | Andrew Scott | 06 December 2023, 18:08:07 UTC | refactor(core): Run ComponentFixture constructor in injection context (#53400) The component fixture dependencies have to be passed in manually. This is a bit annoying to manage as we expand which dependencies are needed. Instead, we can run the constructor in the TestBed injection context and move the dependencies into the component fixture code, as is done with other constructors in Angular. PR Close #53400 | 07 December 2023, 17:35:25 UTC |
049e4ab | Dylan Hunn | 06 December 2023, 18:10:45 UTC | release: cut the v17.0.6 release | 06 December 2023, 18:15:26 UTC |
e8d01f9 | Jessica Janiuk | 06 December 2023, 16:33:18 UTC | refactor(migrations): Update comments to be more accurate (#53396) This comment change better clarifies what these regexes do which should alleviate future confusion. PR Close #53396 | 06 December 2023, 17:45:44 UTC |
c509ba4 | Andrew Scott | 04 December 2023, 03:03:57 UTC | Revert "Revert "fix(router): Ensure canMatch guards run on wildcard routes (#53239)" (#53339)" (#53342) This reverts commit ac8eb5b943d34b8ab68a51b3d46cedafa037d03d. PR Close #53342 | 06 December 2023, 17:44:19 UTC |
aaf199f | Dylan Hunn | 06 December 2023, 05:03:18 UTC | refactor(compiler): Support unary ops in template pipeline (#53376) Template Pipeline can now ingest and emit unary ops, such as `+` and `-`. PR Close #53376 | 06 December 2023, 17:43:36 UTC |
648edaa | Dylan Hunn | 06 December 2023, 01:17:33 UTC | refactor(compiler): template pipeline support for i18n blocks (#53376) Blocks can contain i18n expressions. We already have most of the logic to make them work; we were just missing some ingestion code. PR Close #53376 | 06 December 2023, 17:43:36 UTC |
755356c | Dylan Hunn | 06 December 2023, 00:17:28 UTC | refactor(compiler): Separate ownership and target for i18n expressions, and various refactors (#53376) I18n expressions logically have both a target and an owner: - For i18n text expressions, the owner is the i18nStart instruction. The target is initially the same, but later moves to be the last slot consumer in the i18n block. - For i18n attribute expressions, the owner is the I18nAttributes config instruction, whereas the target is the ElementCreate that hosts the attribute. This refactor makes the code clearer in quite a few plases. Additionally, we now perform a lot of the i18n processing earlier. For example, re-targeting and re-ordering of i18n expressions happens *before* apply instructions are generated. As a result, the re-ordering logic is a lot simpler. These changes also have consequences on i18n const collection, along with a couple other minor changes. PR Close #53376 | 06 December 2023, 17:43:36 UTC |
66ecf4c | Kristiyan Kostadinov | 01 December 2023, 12:53:22 UTC | fix(compiler-cli): add compiler option to disable control flow content projection diagnostic (#53387) These changes add an option to the `extendedDiagnostics` field that allows the check from #53190 to be disabled. This is a follow-up based on a recent discussion. PR Close #53387 | 06 December 2023, 17:43:10 UTC |
74e6ce5 | Kristiyan Kostadinov | 27 November 2023, 09:29:20 UTC | fix(compiler-cli): add diagnostic for control flow that prevents content projection (#53387) This is a follow-up to the fix from #52414. It adds a diagnostic that will tell users when a control flow is preventing its direct descendants from being projected into a specific component slot. PR Close #53387 | 06 December 2023, 17:43:10 UTC |
cfa80dc | Kristiyan Kostadinov | 08 November 2023, 11:28:23 UTC | test(core): add tests for control flow content projection with ng-container (#53387) The control flow projection diagnostic will mention `ng-container` as a workaround for projection multiple nodes. These changes add a couple of tests to ensure that the approach works. PR Close #53387 | 06 December 2023, 17:43:10 UTC |
ec9cc38 | Kristiyan Kostadinov | 08 November 2023, 09:57:58 UTC | refactor(compiler-cli): expose ng-content selectors and preserveWhitespaces during template type checking (#53387) These changes expose the `ngContentSelectors` and `preserveWhitespaces` metadata to the TCB so they can be used in the next commit to implement a new diagnostic. PR Close #53387 | 06 December 2023, 17:43:10 UTC |
cbbd9f3 | Kristiyan Kostadinov | 08 November 2023, 09:31:14 UTC | refactor(compiler): expose utility for creating CSS selectors from AST nodes (#53387) When doing directive matching in the compiler, we need to be able to create a selector from an AST node. We already have the utility, but these changes simplify the public API and expose it so it can be used in `compiler-cli`. PR Close #53387 | 06 December 2023, 17:43:10 UTC |
836aeba | Jessica Janiuk | 06 December 2023, 15:46:51 UTC | fix(migrations): Change CF Migration ng-template placeholder generation and handling (#53394) Using more unique characters makes it easier to parse placeholders that may contain JS logic, making it more flexible. fixes: #53386 fixes: #53385 fixes: #53384 PR Close #53394 | 06 December 2023, 17:42:43 UTC |
d4fdba5 | Alex Rickabaugh | 06 December 2023, 15:12:26 UTC | Revert "refactor(core): output an error guide link in prod mode (#53324)" (#53392) This reverts commit f245aba782fda0ffdb5d2e9d81310956d11b57a4. Reason: breaks g3 PR Close #53392 | 06 December 2023, 15:23:24 UTC |
7c863d7 | Matthieu Riegler | 04 December 2023, 21:19:43 UTC | refactor(devtools): run control flow migration. (#53353) Let's update the devtools with the latest improvements ! PR Close #53353 | 06 December 2023, 01:20:09 UTC |
2a4e3f5 | Jessica Janiuk | 05 December 2023, 18:05:25 UTC | fix(migrations): handle templates outside of component in cf migration (#53368) If a template is passed in as an input, the ng-template will not exist in the same component template. This will leave a template placeholder behind. This fix ensures that template placeholder gets turned into a template outlet. fixes: #53361 PR Close #53368 | 06 December 2023, 01:19:37 UTC |
5104a89 | Jessica Janiuk | 05 December 2023, 18:02:16 UTC | fix(migrations): handle nested ng-template replacement safely in CF migration (#53368) When there are ng-templates nested inside other ng-templates, the replacement and removal of the templates gets disrupted. Re-processing the templates in the file along the way resolves this issue. fixes: #53362 PR Close #53368 | 06 December 2023, 01:19:37 UTC |
708131d | Dylan Hunn | 05 December 2023, 02:12:18 UTC | refactor(compiler): Initial support for i18n attributes (#53341) Add support for i18n attributes: - Generate i18n contexts from i18n attributes, and extract the eventual messages into the constant pool. - Emit I18nAttributes config instructions when needed. - Use the generated i18n variable in the appropriate places, including extracted attribute instructions, as well as I18nAttributes config arrays. PR Close #53341 | 06 December 2023, 01:13:59 UTC |
20ea149 | Matthieu Riegler | 04 December 2023, 19:44:53 UTC | refactor(devtools): enables typescript strict option (#53340) Enabling `strict` is part of an effort to improve the quality of the devtools code base. One of the direct side effect is to enable `noImplicitAny`, `strictPropertyInitialization` and `strictBindCallApply`. This commit also replaces `fullTemplateTypeCheck` with `stringTemplates`. PR Close #53340 | 05 December 2023, 20:42:56 UTC |
2d2eaec | Srinath Vayalpati | 30 November 2023, 18:42:23 UTC | docs: fixed wrong template string placeholder (#53286) PR Close #53286 | 05 December 2023, 05:50:35 UTC |
40e8577 | Joey Perrott | 30 November 2023, 19:43:48 UTC | build: set up markdown pipeline for the reference section (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:14 UTC |
dae3e24 | Joey Perrott | 30 November 2023, 19:20:25 UTC | build: set up markdown pipeline for the tools section (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:14 UTC |
036a2fd | Joey Perrott | 30 November 2023, 19:13:38 UTC | build: set up markdown pipeline for service-workers section (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:14 UTC |
9140b02 | Joey Perrott | 30 November 2023, 19:09:23 UTC | build: set up markdown pipeline for runtime-performance part of the best-practices section (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:13 UTC |
857f29b | Joey Perrott | 30 November 2023, 19:08:38 UTC | build: set up markdown pipeline for best-practices section (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:13 UTC |
1e42486 | Joey Perrott | 30 November 2023, 19:03:43 UTC | build: set up markdown pipeline for introduction section (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:13 UTC |
8fc9ff0 | Joey Perrott | 30 November 2023, 19:02:27 UTC | build: set up markdown pipeline for essentials of the introduction section (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:13 UTC |
cb460f8 | Joey Perrott | 30 November 2023, 18:57:50 UTC | build: set up markdown pipeline for testing directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:13 UTC |
a18b6b9 | Joey Perrott | 30 November 2023, 18:54:59 UTC | build: set up markdown pipeline for templates directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:13 UTC |
ef55336 | Joey Perrott | 30 November 2023, 18:50:42 UTC | build: set up markdown pipeline for signals directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:13 UTC |
4736efc | Joey Perrott | 30 November 2023, 18:49:33 UTC | build: set up markdown pipeline for pipes directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:12 UTC |
069dcd1 | Joey Perrott | 30 November 2023, 18:43:28 UTC | build: set up markdown pipeline for routing directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:12 UTC |
0d7f679 | Joey Perrott | 30 November 2023, 18:39:18 UTC | build: set up markdown pipeline for ngmodules directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:12 UTC |
24c4c77 | Joey Perrott | 30 November 2023, 18:38:29 UTC | build: set up markdown pipeline for i18n directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:12 UTC |
cb34d35 | Joey Perrott | 30 November 2023, 18:35:14 UTC | build: set up markdown pipeline for http directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:12 UTC |
7af3237 | Joey Perrott | 30 November 2023, 18:34:21 UTC | build: set up markdown pipeline for forms directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:12 UTC |
6312d63 | Joey Perrott | 30 November 2023, 18:25:59 UTC | build: set up markdown pipeline for directives directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:11 UTC |
7e2fe81 | Joey Perrott | 30 November 2023, 18:19:44 UTC | build: set up markdown pipeline for di directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:11 UTC |
86f0f4a | Joey Perrott | 30 November 2023, 18:14:24 UTC | build: set up markdown pipeline for components directory of the content guide (#53290) Set up the markdown pipeline to include the required source files. PR Close #53290 | 05 December 2023, 05:47:11 UTC |