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
- Branches list truncated to 999 entries, 243 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.![swh spinner](/static/img/swh-spinner.gif)
Processing "take a new snapshot" request ...
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
edc45d5 | Dylan Hunn | 28 February 2024, 00:16:00 UTC | release: cut the v17.2.3 release | 28 February 2024, 00:23:40 UTC |
79a3281 | Sumit Parakh | 24 February 2024, 05:33:26 UTC | fix(core): fix typo in injectors.svg file (#54596) this commit fixes the unnecessary single quote in injectors.svg file Closes #54592 PR Close #54596 | 27 February 2024, 23:21:17 UTC |
11a0a5d | Angular Robot | 27 February 2024, 03:04:43 UTC | build: update io_bazel_rules_sass digest to 888dd9c (#54615) See associated pull request for more information. PR Close #54615 | 27 February 2024, 22:06:34 UTC |
89db586 | Doug Parker | 27 February 2024, 17:51:11 UTC | release: bump Angular DevTools version to 1.0.11 (#54631) PR Close #54631 | 27 February 2024, 22:02:20 UTC |
624767c | Doug Parker | 27 February 2024, 17:12:53 UTC | Revert "refactor(devtools): implement iframe support for Angular DevTools' browser code (#53934)" (#54629) This reverts commit dd3dac9cc99ac7988e6bff5a3df30786ad0f1155. PR Close #54629 | 27 February 2024, 22:00:17 UTC |
7b30a86 | Doug Parker | 27 February 2024, 17:12:43 UTC | Revert "refactor(devtools): implement multiframe support in devtools page (#53934)" (#54629) This reverts commit ebcdc8dc96e971f68e30cfe4acda5eba87417d77. PR Close #54629 | 27 February 2024, 22:00:17 UTC |
986b9c3 | Doug Parker | 30 January 2024, 23:03:02 UTC | refactor: add `--spawn_strategy local` to `--config debug` (#54167) This seems to be necessary to debug Node tests. PR Close #54167 | 27 February 2024, 02:36:42 UTC |
69598c0 | Andrew Scott | 02 February 2024, 18:19:02 UTC | refactor(core): Internal render hooks trigger view refresh before executing user hooks (#54224) This commit ensures that any internal render hooks that cause views to become dirty again first refresh those dirty views before running user render hooks. This ensures that user render hooks have the most complete render state possible and stops them from needlessly executing multiple times. This is important to maintain the goal of the public render hooks, which is to provide the safest place to place code that depends on DOM state, especially in ways that may force a browser paint. PR Close #54224 | 27 February 2024, 02:31:16 UTC |
ffe3aa1 | Andrew Scott | 02 February 2024, 16:41:34 UTC | refactor(core): Add helper function for queuing state updates (#54224) This adds a helper function to defer application state updates to the first possible "safe" moment. If application-wide change detection (ApplicationRef.tick) is currently executing when this function is used, the callback will execute as soon as all views attached to the `ApplicationRef` have been refreshed. Refreshing the application views will happen again before `checkNoChanges` executes. When a change detection is _not_ running, this state update will execute in the microtask queue. This function is necessary as a replacement for current `Promise.resolve().then(() => stateUpdate())` to be zoneless compatible while ensuring those state updates are synchronized to the DOM before the browser repaint. Without this, updates done in `Promise.resolve(...)` would queue another round of change detection in zoneless applications, and this change detection could happen in the next browser frame, and cause noticeable flicker for the user. Additionally, this function provides a way to perform state updates that will run on the server as well as in the browser. Last, current applications using `ngZone: 'noop'` may not be calling `ApplicationRef.tick` at all so this function provides a mechanism to ensure the state update still happens by racing a microtask with `afterNextRender` (which might never execute). PR Close #54224 | 27 February 2024, 02:31:15 UTC |
2aefed8 | cexbrayat | 07 February 2024, 21:23:26 UTC | fix(compiler-cli): catch function instance properties in interpolated signal diagnostic (#54325) Currently, the following template compiles without error, even if the signal is not properly called: ``` <div>{{ mySignal.name }}</div> ``` This is because `name` is one of the instance properties of Function (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function#instance_properties). The interpolated signal diagnostic is now extended to catch such issues. PR Close #54325 | 27 February 2024, 02:30:06 UTC |
377442d | Angular Robot | 23 February 2024, 10:04:38 UTC | build: update scorecard action dependencies (#54407) See associated pull request for more information. PR Close #54407 | 27 February 2024, 02:29:39 UTC |
20a549f | cexbrayat | 26 February 2024, 15:59:04 UTC | docs: use components in model inputs guide (#54606) The code example showcases a `@Directive` with a template instead of a `@Component`. PR Close #54606 | 27 February 2024, 02:28:15 UTC |
daf7c61 | Kristiyan Kostadinov | 26 February 2024, 17:28:21 UTC | fix(compiler-cli): identify aliased initializer functions (#54609) Fixes that initializer functions weren't being recognized if they are aliased (e.g. `import {model as alias} from '@angular/core';`). To do this efficiently, I had to introduce the `ImportedSymbolsTracker` which scans the top-level imports of a file and allows them to be checked quickly, without having to go through the type checker. It will be useful in the future when verifying that that initializer APIs aren't used in unexpected places. I've also introduced tests specifically for the `tryParseInitializerApiMember` function so that we can test it in isolation instead of going through the various functions that call into it. PR Close #54609 | 27 February 2024, 02:27:19 UTC |
c116353 | Dylan Hunn | 23 February 2024, 23:28:54 UTC | Revert "fix(compiler-cli): identify aliased initializer functions (#54480)" (#54595) This reverts commit f04ecc0cdaeb3a292a748b1ccc94ce70a573fc79. PR Close #54595 | 26 February 2024, 16:36:50 UTC |
5712352 | Andrew Kushnir | 14 November 2023, 06:08:26 UTC | fix(core): collect providers from NgModules while rendering `@defer` block (#52881) Currently, when a `@defer` block contains standalone components that import NgModules with providers, those providers are not available to components declared within the same NgModule. The problem is that the standalone injector is not created for the host component (that hosts this `@defer` block), since dependencies become defer-loaded, thus no information is available at host component creation time. This commit updates the logic to collect all providers from all NgModules used as a dependency for standalone components used within a `@defer` block. When an instance of a defer block is created, a new environment injector instance with those providers is created. Resolves #52876. PR Close #52881 | 23 February 2024, 20:30:06 UTC |
dcd6c8c | Pawel Kozlowski | 20 February 2024, 15:29:27 UTC | refactor(core): use performance API for signals (#54521) This commit adds a standard performance marker that can be viewed in Chrome dev tools and other tooling. See more info at https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark PR Close #54521 | 23 February 2024, 20:18:31 UTC |
fbb0398 | Kristiyan Kostadinov | 22 February 2024, 07:54:55 UTC | docs: add a guide for model inputs (#54514) Adds a guide for `model()` inputs for angular.io. Will port this over to angular.dev once it's finalized. PR Close #54514 | 23 February 2024, 19:47:04 UTC |
56ad65a | Felix Geißler | 22 February 2024, 14:05:16 UTC | docs: syntax error in signal input transform example (#54567) PR Close #54567 | 23 February 2024, 19:46:14 UTC |
b1b7bbf | loka shafeek | 22 February 2024, 16:58:41 UTC | docs: Update wildcard route component to PageNotFoundComponent (#54570) This PR enhances the Angular documentation by replacing the placeholder `<component-name>` with the actual `PageNotFoundComponent` in the wildcard route configuration. This update ensures that the documentation accurately reflects the recommended practice for handling page-not-found scenarios. Additionally, it addresses the issue where HTML entities like `<` were being displayed instead of the desired `<` symbol, resulting in clearer and more readable documentation for users. PR Close #54570 | 23 February 2024, 19:45:39 UTC |
48aec63 | Kristiyan Kostadinov | 16 February 2024, 12:33:06 UTC | fix(compiler-cli): identify aliased initializer functions (#54480) Fixes that initializer functions weren't being recognized if they are aliased (e.g. `import {model as alias} from '@angular/core';`). To do this efficiently, I had to introduce the `ImportedSymbolsTracker` which scans the top-level imports of a file and allows them to be checked quickly, without having to go through the type checker. It will be useful in the future when verifying that that initializer APIs aren't used in unexpected places. I've also introduced tests specifically for the `tryParseInitializerApiMember` function so that we can test it in isolation instead of going through the various functions that call into it. PR Close #54480 | 23 February 2024, 19:44:40 UTC |
d68cf17 | Lukas Matta | 22 February 2024, 16:44:53 UTC | docs: remove mutate function mention (#54569) PR Close #54569 | 23 February 2024, 19:43:25 UTC |
89f8331 | Matthieu Riegler | 22 February 2024, 18:21:56 UTC | ci: adding Matthieu as approver for ADEV (#54575) This is to help the team approve changes on the new doc site. PR Close #54575 | 23 February 2024, 19:42:46 UTC |
84ade02 | Kristiyan Kostadinov | 23 February 2024, 09:52:00 UTC | refactor(compiler-cli): changes to get signal diagnostic working internally (#54585) The diagnostic for signals that haven't been invoked wasn't working internally, because the path to `@angular/core` is different. These changes resolve the issue and do some general cleanup. PR Close #54585 | 23 February 2024, 19:42:07 UTC |
dbe673b | Kristiyan Kostadinov | 23 February 2024, 13:51:17 UTC | fix(migrations): resolve infinite loop for a single line element with a long tag name and angle bracket on a new line (#54588) Fixes an edge case where a single-line elemnt with a long tag name a closing bracket on a new line was putting the control flow migration into an infinite loop. Fixes #54587. PR Close #54588 | 23 February 2024, 19:40:31 UTC |
1a526f2 | Andrew Scott | 22 February 2024, 00:26:42 UTC | perf(common): `AsyncPipe` should not call `markForCheck` on subscription (#54554) This commit prevents `AsyncPipe` from calling `markForCheck` when values are synchronously emit during subscription to an observable. This prevents subscriptions to `Replay` observables from needlessly walking up to the root of the view tree during template execution for each new replay observable in the template. PR Close #54554 | 23 February 2024, 17:20:05 UTC |
600a8cd | Alex Rickabaugh | 22 February 2024, 01:49:33 UTC | release: cut the v17.2.2 release | 22 February 2024, 01:54:30 UTC |
bb57d34 | Jessica Janiuk | 20 February 2024, 22:49:31 UTC | fix(migrations): Fix cf migration regular expression to include underscores (#54533) In rare cases people may use an underscore in their component names, which was not accounted for in the formatting portion of the migration. fixes: #54532 PR Close #54533 | 21 February 2024, 23:25:07 UTC |
ef94bb6 | Doug Parker | 20 February 2024, 19:00:20 UTC | docs(devtools): expand release docs (#54525) This provides some more information on how to release and notably includes commands for zipping extension code and source code, which can otherwise be tricky to get exactly right. PR Close #54525 | 21 February 2024, 23:24:27 UTC |
e627c6e | Doug Parker | 20 February 2024, 18:34:27 UTC | release: bump Angular DevTools version to 1.0.10 (#54523) PR Close #54523 | 21 February 2024, 23:23:37 UTC |
65c9148 | Kristiyan Kostadinov | 19 February 2024, 09:40:39 UTC | refactor(compiler-cli): move defer block tests into separate file (#54499) Splits the tests for `@defer` blocks out into a separate file since the `ngtsc_spec.ts` is getting quite large. PR Close #54499 | 21 February 2024, 23:22:37 UTC |
0a3edfb | Kristiyan Kostadinov | 19 February 2024, 09:39:59 UTC | fix(compiler-cli): correctly detect deferred dependencies across scoped nodes (#54499) This is based on an internal issue report. An earlier change introduced a diagnostic to report cases where a symbol is in the `deferredImports` array, but is used eagerly. The check worked by looking through the deferred blocks in a scope, resolving the scope for each and checking if the element is within the scope. The problem is that resolving the scope won't work across scoped node boundaries. For example, if there's a control flow statement around the block or within the block but around the deferred dependency, it won't be able to resolve the scope since it isn't a direct child, e.g. ``` @if (true) { @defer { <deferred-dep/> } } ``` To fix this the case where the deferred block is inside a scoped node, I've changed the `R3BoundTarget.deferBlocks` to be a `Map` holding both the deferred block and its corresponding scope. Then to resolve the case where the dependency is within a scoped node inside the deferred block, I've added a depth-first traversal through the scopes within the deferred block. PR Close #54499 | 21 February 2024, 23:22:37 UTC |
f00336c | Kristiyan Kostadinov | 17 February 2024, 11:18:53 UTC | refactor(compiler-cli): add the ability to treat object literals as enums in docs (#54487) We have a couple of cases now (#53753 and #54414) where we're forced to redefine enums as object literals. These literals aren't rendered in the best way in the docs so these changes introduce a new `object-literal-as-enum` tag that we can use to mark them so they're treated for documentation purposes. PR Close #54487 | 21 February 2024, 23:21:59 UTC |
8997260 | Dean Davidson | 16 February 2024, 18:58:27 UTC | docs: add closing tags to code examples (#54485) There were two minor issues in the code examples that this addresses. PR Close #54485 | 21 February 2024, 23:20:17 UTC |
033608e | Lukas Matta | 16 February 2024, 00:38:27 UTC | docs: fix typos (#54475) PR Close #54475 | 21 February 2024, 23:19:40 UTC |
926063e | vladboisa | 11 February 2024, 10:30:48 UTC | docs(docs-infra): fix tab shrinking (#54380) Fix a behavior when block shrinks on Usage notes tab Fixes #52818 PR Close #54380 | 21 February 2024, 23:19:14 UTC |
187b46a | cexbrayat | 09 February 2024, 21:36:55 UTC | docs: view child static query differences formatting (#54370) The docs were broken as the first line is the only one to be displayed in the table. PR Close #54370 | 21 February 2024, 23:18:48 UTC |
6447c0e | Dmitry Ivanitskiy | 14 December 2023, 00:24:15 UTC | fix(compiler): adding the inert property to the "SCHEMA" array (#53148) This change allows template binding "inert" attribute with the following syntax: [inert]="isInert" Fixes #51879 fixup! fix(compiler): adding the inert property to the "SCHEMA" array revert: "fixup! fix(compiler): adding the inert property to the "SCHEMA" array" This reverts commit b637b7ce646e8bab2f585339028a84018e8ea982. This commit is being reverted because the inert property is safe as a boolean attribute PR Close #53148 | 21 February 2024, 23:13:56 UTC |
ed8857e | Matthieu Riegler | 17 January 2024, 21:37:37 UTC | refactor(platform-browser): use performance API for async animations (#53963) This commit adds a standard performance marker PR Close #53963 | 21 February 2024, 23:12:05 UTC |
3e31f1a | Andrew Scott | 05 February 2024, 16:46:58 UTC | fix(router): Clear internal transition when navigation finalizes (#54261) This commit fixes a small memory issue in the router where a destroyed component instance would be retained. fixes #54241 PR Close #54261 | 21 February 2024, 22:09:58 UTC |
d411ee7 | cexbrayat | 21 February 2024, 09:25:33 UTC | docs: typos in signal queries guide (#54540) PR Close #54540 | 21 February 2024, 15:59:01 UTC |
d34e329 | Kristiyan Kostadinov | 20 February 2024, 12:07:17 UTC | fix(common): image placeholder not removed in OnPush component (#54515) Fixes that the placeholder wasn't being removed when an optimized image is placed in an `OnPush` component. Fixes #54478. PR Close #54515 | 20 February 2024, 17:50:00 UTC |
db35266 | Pawel Kozlowski | 19 February 2024, 17:02:57 UTC | test(core): more tests for queries as signals (#54508) A couple of tests that illustrate combination of signal and decorator queries in once component. PR Close #54508 | 20 February 2024, 17:49:20 UTC |
790f4f7 | JoostK | 18 February 2024, 19:48:17 UTC | fix(compiler-cli): use correct symbol name for default imported symbols in defer blocks (#54495) This commit addresses a problem with PR #53695 that introduced support for default imports, where the actual dynamic import used in the defer loading function continued to use the symbol name, instead of `.default` for the dynamic import. This issue went unnoticed in the testcase because a proper instance was being generated for the `ɵsetClassMetadataAsync` function, but not the generated dependency loader function. Fixes #54491 PR Close #54495 | 20 February 2024, 17:45:33 UTC |
5e80e6d | Jamie Couperwhite | 18 February 2024, 11:01:25 UTC | docs: fix developer preview link in signal queries (#54492) PR Close #54492 | 20 February 2024, 17:44:43 UTC |
5597e5d | Alex Castle | 15 February 2024, 19:03:43 UTC | docs(common): add new faq entry to NgOptimizedImage docs (#54469) add new FAQ entry explaining that we're not adding new loaders to the angular repo PR Close #54469 | 20 February 2024, 17:43:47 UTC |
f8a5b40 | Ahmed Hakeem | 15 February 2024, 18:58:07 UTC | docs: enhance Dependency injection description (#54464) PR Close #54464 | 20 February 2024, 17:29:54 UTC |
3bd5860 | Pawel Kozlowski | 15 February 2024, 10:26:33 UTC | fix(core): properly execute content queries for root components (#54457) Prior to this fix an incorrect view instance (a dynamically created component one instead of the root view) was passed to the content query function. Having incorrect view instance meant that a component instance could not be found. This is a pre-existing bug, introduction of signal-based queries just surfaced it. Fixes #54450 PR Close #54457 | 15 February 2024, 20:21:29 UTC |
b975ff1 | Pawel Kozlowski | 12 February 2024, 14:57:59 UTC | docs: add guide for signal queries (#54395) Adding new guide for the signal-based queries. PR Close #54395 | 15 February 2024, 20:17:01 UTC |
ba686cc | Fabio Heer | 12 February 2024, 08:33:35 UTC | docs: correct default application builder for new apps (#54386) The documentation on angular.dev mentions build-angular:browser as default application builder. This is not correct. Recent applications are setup with build-angular:application by default. PR Close #54386 | 15 February 2024, 18:54:18 UTC |
a7e4b99 | AleksanderBodurri | 26 January 2024, 00:35:36 UTC | refactor(devtools): implement multiframe support in devtools page (#53934) In the Angular DevTools Chrome DevTools page: - Angular DevTools is able to ask the background script to list each frame that has been registered on a page. - Angular Devtools is able to ask the background script to "enable" the connection on a particular frame. This enables the messaging between the content script <-> background script <-> devtools page - Implements detection of non unique urls on the inspected page Limitations: - The `inspectedWindow.eval` API is only able to target frames by frameURL. This means some features that integrate with Chrome DevTools like inspect element and open source will not be available when inspecting frames that do not have a unique url on the page. PR Close #53934 | 15 February 2024, 01:15:26 UTC |
02fcd92 | AleksanderBodurri | 26 January 2024, 00:31:57 UTC | refactor(devtools): implement iframe support for Angular DevTools' browser code (#53934) Modifies the messaging layer of devtools to allow for switching communication between frames on a page. When served as a browser extension. Design: - When a page renders, DevTools installs a content script onto it through it's manifest file. The all_frames option is used here to install this script onto every frame in a page. - When Angular is detected, the content script will install a backend script into it's frame. - Each content script / backend script pairing is kept track of in the background script. This pairing represents an angular devtools context in a particular frame. - Angular DevTools is able to ask the background script to list each frame that has been registered on a page. - Angular Devtools is able to ask the background script to "enable" the connection on a particular frame. This enables the messaging between the content script <-> background script <-> devtools page Limitations: - The `inspectedWindow.eval` API is only able to target frames by frameURL. This means some features that integrate with Chrome DevTools like inspect element and open source will not be available when inspecting frames that do not have a unique url on the page. PR Close #53934 | 15 February 2024, 01:15:26 UTC |
fba7fe1 | Angular Robot | 13 February 2024, 06:06:15 UTC | build: update all non-major dependencies (#54406) See associated pull request for more information. PR Close #54406 | 14 February 2024, 23:39:37 UTC |
e5e8be4 | Joey Perrott | 14 February 2024, 19:47:48 UTC | ci: remove feature-request bot (#54442) Remove feature request bot from usage. PR Close #54442 | 14 February 2024, 23:33:54 UTC |
8521188 | Kisters-BS | 14 February 2024, 08:16:57 UTC | docs: fix typo (#54427) PR Close #54427 | 14 February 2024, 23:29:21 UTC |
44a0ea4 | Paul Gschwendtner | 07 February 2024, 15:11:22 UTC | docs: add guide for signal inputs (#54316) Adds a guide for signal inputs. We will port that to `angular.dev` once we finalized this version. PR Close #54316 | 14 February 2024, 23:22:49 UTC |
3eda005 | Andrew Kushnir | 14 February 2024, 22:51:37 UTC | release: cut the v17.2.1 release | 14 February 2024, 22:55:28 UTC |
7234824 | Alex Rickabaugh | 14 February 2024, 20:19:23 UTC | fix(compiler-cli): fix broken version detection condition (#54443) The version detection condition for signal two-way bindings used an OR instead of an AND, resulting in every `.0` patch version being considered as supporting two-way bindings to signals. This commit fixes the logic and adds additional parentheses to ensure the meaning of the condition is more clear. Long term, we should switch to semver version parsing instead. PR Close #54443 | 14 February 2024, 20:47:03 UTC |
0b95d14 | Andrew Kushnir | 14 February 2024, 18:50:07 UTC | release: cut the v17.2.0 release | 14 February 2024, 18:55:44 UTC |
78b48cc | Kristiyan Kostadinov | 13 February 2024, 19:33:27 UTC | refactor(compiler-cli): do not emit signal unwrap calls in versions older than 17.2 (#54423) In order to allow both signals and non-signals in two-way bindings, we have to pass the expression through `ɵunwrapWritableSignal`. The problem is that the language service uses a bundled compiler that is fairly new, but it may be compiling an older version of Angular that doesn't expose `ɵunwrapWritableSignal` (see https://github.com/angular/vscode-ng-language-service/issues/2001). These changes add a `_angularCoreVersion` flag to the compiler which the language service can use to pass the parsed Angular version to the compiler which can then decide whether to emit the function. PR Close #54423 | 13 February 2024, 23:53:42 UTC |
1c53625 | Matthieu Riegler | 11 February 2024, 00:16:49 UTC | fix(http): Use string body to generate transfer cache key. (#54379) This is particularly usefull for GraphQL queries where the string body might be the only discriminator. Fixes #54377 PR Close #54379 | 13 February 2024, 19:53:22 UTC |
674b6c3 | Joey Perrott | 12 February 2024, 20:16:06 UTC | fix(docs-infra): don't include prerender flag based on fast/full build in adev (#54400) The serve command for architect does not support the `--prerender` flag PR Close #54400 | 13 February 2024, 19:52:40 UTC |
3592526 | Lukas Matta | 12 February 2024, 23:43:09 UTC | docs: fix typo (#54403) PR Close #54403 | 13 February 2024, 19:51:56 UTC |
501c159 | Kristiyan Kostadinov | 12 February 2024, 22:57:13 UTC | build: update node (#54399) Updates the repo to a newer version of Node to fix errors in the integration tests. PR Close #54399 | 12 February 2024, 23:36:19 UTC |
277540c | Kristiyan Kostadinov | 08 February 2024, 17:49:40 UTC | build: reuse fake core in type checking tests (#54344) (#54398) Currently we have two fake copies of `@angular/core` in the compiler tests which can be out of sync and cause inconsistent tests. These changes reuse a single copy instead. PR Close #54344 PR Close #54398 | 12 February 2024, 22:31:26 UTC |
6d00115 | Kristiyan Kostadinov | 12 February 2024, 13:02:47 UTC | fix(core): show placeholder block on the server with immediate trigger (#54394) Currently all triggers are set up to show the placeholder block on the server, except for `on immediate` which is basically a noop. These changes update `on immediate` to match the rest of the triggers. Fixes #54385. PR Close #54394 | 12 February 2024, 19:02:41 UTC |
ef965ac | Kristiyan Kostadinov | 12 February 2024, 10:00:58 UTC | test(language-service): add tests for model inputs (#54387) Updates the language service tests to cover `model()` inputs. PR Close #54387 | 12 February 2024, 19:01:54 UTC |
369e96c | Kristiyan Kostadinov | 09 February 2024, 14:16:23 UTC | refactor(compiler-cli): split input and model tests (#54387) Splits up the tests for `input()` and `model()` into separate files. PR Close #54387 | 12 February 2024, 19:01:54 UTC |
2363e77 | Kristiyan Kostadinov | 09 February 2024, 14:11:19 UTC | refactor(compiler-cli): add diagnostic tests for models (#54387) Sets up type checking diagnostic tests for model() inputs. PR Close #54387 | 12 February 2024, 19:01:54 UTC |
1581988 | Kristiyan Kostadinov | 09 February 2024, 12:22:55 UTC | test(core): add type tests for ɵunwrapWritableSignal (#54387) Getting the typing for `ɵunwrapWritableSignal` just right was tricky so these changes add some tests to ensure that we don't regress. Also reworks the type tester a bit to make it easier to find where to add new test files. PR Close #54387 | 12 February 2024, 19:01:54 UTC |
0ecc2d1 | Kristiyan Kostadinov | 09 February 2024, 12:00:34 UTC | refactor(core): reuse input signal node for models (#54387) Reworks the model so that it reuses `INPUT_SIGNAL_NODE` instead of implementing its own. PR Close #54387 | 12 February 2024, 19:01:53 UTC |
453e00c | Kristiyan Kostadinov | 09 February 2024, 08:47:25 UTC | refactor(core): avoid wrapper around subscribe return value (#54387) Reworks `ModelSignal.subscribe` so it doesn't have to wrap its value to look like a subscription. PR Close #54387 | 12 February 2024, 19:01:53 UTC |
4d722a2 | arturovt | 12 June 2023, 21:22:29 UTC | fix(zone.js): patch form-associated custom element callbacks (#50686) This commit updates the implementation of the `customElements` patch and also patches FACE callbacks (`formAssociatedCallback`, `formDisabledCallback`, `formResetCallback` and `formStateRestoreCallback`). This now allows invoking those callbacks in the same zone where the custom element has been defined. PR Close #50686 | 12 February 2024, 16:50:57 UTC |
744cb1e | Pawel Kozlowski | 09 February 2024, 20:42:58 UTC | fix(core): return the same children query results if there are no changes (#54392) Assure that the same readonly array corresponding to the children query results is returned for cases where a query is marked as dirty but there were no actual changes to the content of the results array (this can happen if a view is added and removed thus marking queries as dirty but not influencing final results). Fixes #54376 PR Close #54392 | 12 February 2024, 16:48:29 UTC |
deb9ea0 | Joey Perrott | 08 February 2024, 23:44:15 UTC | refactor(docs-infra): create fast mode (#54364) Creates a "fast mode" for building the adev site, currently only disabling prerender during fast build. This is intended to be used for local development. PR Close #54364 | 09 February 2024, 18:59:08 UTC |
62b87b4 | JoostK | 08 February 2024, 20:50:19 UTC | fix(core): do not crash for signal query that does not have any matches (#54353) The newly introduced signal queries would error if no match exists, due to an invalid read within the query internals. This commit addresses the crash by allowing there to be no matches. PR Close #54353 | 09 February 2024, 14:59:51 UTC |
6c278a9 | Hakeem | 08 February 2024, 13:01:35 UTC | docs(docs-infra): change deprecated modules' headers' style in the hover state (#54337) PR Close #54337 | 09 February 2024, 14:58:56 UTC |
5de985a | Joey Perrott | 08 February 2024, 22:31:48 UTC | fix(docs-infra): include manually defined api reference docs in adev (#54356) Include the manual defined api reference docs in adev PR Close #54356 | 09 February 2024, 14:58:29 UTC |
85c0551 | Angular Robot | 09 February 2024, 11:06:08 UTC | build: update cross-repo angular dependencies (#54186) See associated pull request for more information. PR Close #54186 | 09 February 2024, 14:57:46 UTC |
7aa92fa | Paul Gschwendtner | 09 February 2024, 10:51:23 UTC | release: cut the v17.2.0-rc.1 release | 09 February 2024, 10:54:07 UTC |
4b96f37 | Kristiyan Kostadinov | 09 February 2024, 09:41:35 UTC | fix(core): expose model signal subcribe for type checking purposes (#54357) The `@internal` in the comment above `ModelSignal.subscribe` ended up marking the method as internal even though it wasn't meant to be. PR Close #54357 | 09 February 2024, 09:58:56 UTC |
9e2c140 | Matthieu Riegler | 07 February 2024, 23:01:53 UTC | refactor(devtools): show tooltip for hydration icon on directive forest (#54326) The MatTooltip was missing after migrating to standalone PR Close #54326 | 08 February 2024, 19:18:37 UTC |
9f05732 | Joey Perrott | 07 February 2024, 16:00:01 UTC | refactor: migrate router to prettier formatting (#54318) Migrate formatting to prettier for router from clang-format PR Close #54318 | 08 February 2024, 19:17:14 UTC |
ed41bfc | Jessica Janiuk | 08 February 2024, 18:36:38 UTC | release: cut the v17.2.0-rc.0 release | 08 February 2024, 18:38:52 UTC |
c47bf63 | Jessica Janiuk | 08 February 2024, 18:18:45 UTC | docs: release notes for the v17.1.3 release | 08 February 2024, 18:20:12 UTC |
8dea3b5 | cexbrayat | 08 February 2024, 11:41:41 UTC | test: tidy up signal signal input/query/model signature tests (#54334) This updates some tests to use the public imports from `@angular/core` now that they are available, and cleans up useless imports and inaccurate names. PR Close #54334 | 08 February 2024, 16:49:15 UTC |
898a532 | Andrew Scott | 08 February 2024, 00:30:41 UTC | fix(core): Fix possible infinite loop with `markForCheck` by partially reverting #54074 (#54329) In some situations, calling `markForCheck` can result in an infinite loop in seemingly valid scenarios. When a transplanted view is inserted before its declaration, it gets refreshed in the retry loop of `detectChanges`. At this point, the `Dirty` flag has been cleared from all parents. Calling `markForCheck` marks the insertion tree up to the root `Dirty`. If the declaration is checked again as a result (i.e. because it has default change detection) and is reachable because its parent was marked `Dirty`, this can cause an infinite loop. The declaration is refreshed again, so the insertion is marked for refresh (again). We enter an infinite loop if the insertion tree always calls `markForCheck` for some reason (i.e. `{{createReplayObservable() | async}}`). While the case above does fall into an infinite loop, it also truly is a problem in the application. While it's not an infinite synchronous loop, the declaration and insertion are infinitely dirty and will be refreshed on every change detection round. Usually `markForCheck` does not have this problem because the `Dirty` flag is not cleared until the very end of change detection. However, if the view did not already have the `Dirty` flag set, it is never cleared because we never entered view refresh. One solution to this problem could be to clear the `Dirty` flag even after skipping view refresh but traversing to children. PR Close #54329 | 08 February 2024, 16:45:20 UTC |
adfc3f0 | Kristiyan Kostadinov | 08 February 2024, 15:46:20 UTC | refactor(core): temporarily mark subscribe methods as deprecated (#54342) The `subscribe` methods on `ModelSignal` and `OutputEmitter` were marked as `@internal` which will break when the TCB needs to reference them. These changes make them `@deprecated` temporarily so we can address the properly later. PR Close #54342 | 08 February 2024, 16:33:41 UTC |
38b01a3 | cexbrayat | 08 February 2024, 13:22:01 UTC | fix(compiler-cli): interpolatedSignalNotInvoked diagnostic for model signals (#54338) The new `model()` signal introduces a `ModelSignal` type that needs to be handled by the interpolatedSignalNotInvoked diagnostic to catch issues like: ``` <div>{{ myModel }}</div> ``` PR Close #54338 | 08 February 2024, 16:28:20 UTC |
03c3b3e | ascorbic | 07 February 2024, 08:52:06 UTC | feat(common): add Netlify image loader (#54311) Add an image loader for Netlify Image CDN. It is slightly different in implementation from existing loaders, because it allows absolute URLs Fixes #54303 PR Close #54311 | 08 February 2024, 16:17:57 UTC |
9c2bad9 | Kristiyan Kostadinov | 08 February 2024, 11:37:39 UTC | refactor(compiler-cli): avoid naming conflict with built-in global variable (#54333) The import of `module` can conflict with the native global variable called `module` and can break some internal tests. These switch to only importing the function we need. PR Close #54333 | 08 February 2024, 14:59:54 UTC |
44f65f2 | Kristiyan Kostadinov | 07 February 2024, 23:32:45 UTC | refactor(compiler-cli): work around internal test failure (#54327) Fixes an internal test failure due to `FatalDiagnosticError` extending the native `Error`. PR Close #54327 | 08 February 2024, 14:59:24 UTC |
ca239e8 | Pawel Kozlowski | 07 February 2024, 18:20:55 UTC | refactor(core): share refresh logic for cd and signal queries (#54322) Introducing a tiny utility method to remove some code duplication between the change change detection and signal based queries. PR Close #54322 | 07 February 2024, 22:22:06 UTC |
a3e51d9 | Ben Hong | 07 February 2024, 21:02:12 UTC | docs: enable version picker (#54161) PR Close #54161 | 07 February 2024, 22:21:05 UTC |
38c0084 | Paul Gschwendtner | 06 February 2024, 14:23:00 UTC | test: verify signal-based queries in CLI integration test (#54314) Adds usages of signal-based queries into the signal integration test to verify queries can be used in production, and testing environments as expected (i.e. the transform works as expected). PR Close #54314 | 07 February 2024, 18:56:04 UTC |
a08863e | Paul Gschwendtner | 07 February 2024, 12:40:58 UTC | refactor(compiler-cli): ensure `FatalDiagnosticError` extends `Error` (#54309) This helps with the Angular CLI currently swallowing fatal diagnostic errors in ways that are extremely difficult to debug due to workers executing Angular compiler logic. The worker logic, via piscina, is currently not forwarding such Angular errors because those don't extend `Error.` https://github.com/piscinajs/piscina/blob/a7042ea27d129f3cad75c422f5aa92f0663854ee/src/worker.ts#L175 Even with access to these errors by manually forwarding errors, via patching of the Angular CLI, there is no stack trace due to us not using `Error` as base class for fatal diagnostic errors. This commit improves this for future debugging and also better reporting of such errors to our users- if we would accidentally leak one. PR Close #54309 | 07 February 2024, 16:39:21 UTC |
8e237a0 | Paul Gschwendtner | 07 February 2024, 12:39:00 UTC | fix(compiler-cli): properly catch fatal diagnostics in type checking (#54309) An identical addition to: 760b1f3d0b857288980f2d9929147f331d657f7d. This commit expands the `try/catch`-es: - to properly NOT throw and just convert the diagnostic. - to be in place for all top-level instances. Notably, this logic cannot reside in the template type checker directly as otherwise we would risk multiple duplicate diagnostics. PR Close #54309 | 07 February 2024, 16:39:20 UTC |
e921e10 | Kristiyan Kostadinov | 07 February 2024, 07:53:39 UTC | refactor(core): correctly distinguish getter functions from writable signals (#54252) Fixes that `ɵunwrapWritableSignal` inferring getter functions as not matching the interface of `WritableSignal` instead of preserving them. PR Close #54252 | 07 February 2024, 16:36:15 UTC |
a4a76c3 | Kristiyan Kostadinov | 06 February 2024, 22:55:59 UTC | refactor(core): throw if required model is changed via update too early (#54252) Adds an assertion that will throw if `ModelSignal.update` is accessed before an initial value is set. PR Close #54252 | 07 February 2024, 16:36:14 UTC |
ac9c544 | Kristiyan Kostadinov | 06 February 2024, 22:11:34 UTC | refactor(core): assert writable signal in two-way property instruction (#54252) Asserts that the value is a `WritableSignal`, rather than a `Signal`, in the `twoWayProperty` instruction. PR Close #54252 | 07 February 2024, 16:36:14 UTC |
243b94c | Kristiyan Kostadinov | 06 February 2024, 22:00:30 UTC | refactor(compiler-cli): fix regression in two-way bindings to inputs with different getter/setter types (#54252) In a previous commit the TCB was changed to cast the assignment to an input in order to widen its type to allow `WritableSignal`. This ended up breaking existing inputs whose setter has a wider type than its getter. These changes switch to unwrapping the value on the binding side. PR Close #54252 | 07 February 2024, 16:36:13 UTC |