https://github.com/angular/angular
- HEAD
- refs/heads/10.0.x
- refs/heads/10.1.x
- refs/heads/10.2.x
- refs/heads/11.0.x
- refs/heads/11.1.x
- refs/heads/11.2.x
- refs/heads/12.0.x
- refs/heads/12.1.x
- refs/heads/12.2.x
- refs/heads/12.3.x
- refs/heads/13.0.x
- refs/heads/13.1.x
- refs/heads/13.2.x
- refs/heads/13.3.x
- refs/heads/13.4.x
- refs/heads/14.0.x
- refs/heads/14.1.x
- refs/heads/14.2.x
- refs/heads/14.3.x
- refs/heads/15.0.x
- refs/heads/15.1.x
- refs/heads/15.2.x
- refs/heads/16.0.x
- refs/heads/16.1.x
- refs/heads/16.2.x
- refs/heads/17.0.x
- refs/heads/17.1.x
- refs/heads/17.2.x
- refs/heads/17.3.x
- refs/heads/18.0.x
- refs/heads/18.1.x
- refs/heads/2.0.x
- refs/heads/2.1.x
- refs/heads/2.2.x
- refs/heads/2.3.x
- refs/heads/2.4.x
- refs/heads/4.0.x
- refs/heads/4.1.x
- refs/heads/4.2.x
- refs/heads/4.3.x
- refs/heads/4.4.x
- refs/heads/5.0.x
- refs/heads/5.1.x
- refs/heads/5.2.x
- refs/heads/5.2x
- refs/heads/52695-improve-clarity-of-tutorial-intro
- refs/heads/53015-add-h1-for-skip-to-main-content
- refs/heads/55510/fix-security-guide-links
- refs/heads/55725-fix-visible-snippets
- refs/heads/6.0.x
- refs/heads/6.1.x
- refs/heads/7.0.x
- refs/heads/7.1.x
- refs/heads/7.2.x
- refs/heads/8.0.x
- refs/heads/8.1.x
- refs/heads/8.2.x
- refs/heads/9.0.x
- refs/heads/9.1.x
- refs/heads/JeanMeche-patch-1
- refs/heads/add-adev-docs
- refs/heads/add-ben-to-reviewers
- refs/heads/add-docs-script-command
- refs/heads/add-missing-border-on-editor
- refs/heads/backup-7.2.x
- refs/heads/bazel
- refs/heads/browser-update-test
- refs/heads/docs-developer-preview-fix
- refs/heads/docs/update-security-guide-reference
- refs/heads/dylhunn-patch-1
- refs/heads/dylhunn-zonejs-instructions
- refs/heads/fix-extra-padding-on-tutorial-editor
- refs/heads/fix-missing-security-guide
- refs/heads/fix-playground-spacing-issue
- refs/heads/g3
- refs/heads/image-directive-13.3.x
- refs/heads/in-depth-guides-refactor
- refs/heads/jperrott-test
- refs/heads/main
- refs/heads/publish-snapshots
- refs/heads/redirects-aio
- refs/heads/remove-aio-stuff
- refs/heads/remove-embedded-editor-from-first-app
- refs/heads/robots-aio
- refs/heads/saucelabs-bazel
- refs/heads/signals
- refs/heads/sonukapoor-patch-1
- refs/heads/styling-experiments
- refs/heads/twerske-patch-1
- refs/heads/twerske-patch-2
- refs/heads/twerske-v18-changelog
- refs/heads/update-dropdown-for-v18
- refs/heads/watch-burn-rates
- refs/heads/windows-executor-no-cache
- refs/remotes/presubmit-pr-2853
- refs/renovate/branches/renovate/core-js-3.x
- refs/renovate/branches/renovate/cross-repo-angular-dependencies
- refs/renovate/branches/renovate/firebase-tools-11.x
- refs/reviewable/pr1707/r1
- refs/reviewable/pr1855/r1
- refs/reviewable/pr1977/r1
- refs/reviewable/pr1995/r1
- refs/reviewable/pr2164/r1
- refs/reviewable/pr2218/r1
- refs/reviewable/pr2255/r1
- refs/reviewable/pr2257/r1
- refs/reviewable/pr2317/r1
- refs/reviewable/pr2337/r1
- refs/reviewable/pr2347/r1
- refs/reviewable/pr2407/r1
- refs/reviewable/pr2419/r1
- refs/reviewable/pr2419/r2
- refs/reviewable/pr2419/r3
- refs/reviewable/pr2463/r1
- refs/reviewable/pr2464/r1
- refs/reviewable/pr2464/r2
- refs/reviewable/pr2568/r1
- refs/reviewable/pr2573/r1
- refs/reviewable/pr2573/r2
- refs/reviewable/pr2587/r1
- refs/reviewable/pr2588/r1
- refs/reviewable/pr2593/r1
- refs/reviewable/pr2610/r1
- refs/reviewable/pr2634/r1
- refs/reviewable/pr2641/r1
- refs/reviewable/pr2658/r1
- refs/reviewable/pr2658/r2
- refs/reviewable/pr2665/r1
- refs/reviewable/pr2666/r1
- refs/reviewable/pr2666/r2
- refs/reviewable/pr2667/r1
- refs/reviewable/pr2668/r1
- refs/reviewable/pr2676/r1
- refs/reviewable/pr2679/r1
- refs/reviewable/pr2679/r2
- refs/reviewable/pr2690/r1
- refs/reviewable/pr2695/r1
- refs/reviewable/pr2695/r2
- refs/reviewable/pr2695/r3
- refs/reviewable/pr2699/r1
- refs/reviewable/pr2699/r2
- refs/reviewable/pr2699/r3
- refs/reviewable/pr2699/r4
- refs/reviewable/pr2699/r5
- refs/reviewable/pr2699/r6
- refs/reviewable/pr2703/r1
- refs/reviewable/pr2709/r1
- refs/reviewable/pr2709/r2
- refs/reviewable/pr2711/r1
- refs/reviewable/pr2711/r2
- refs/reviewable/pr2713/r1
- refs/reviewable/pr2713/r2
- refs/reviewable/pr2713/r3
- refs/reviewable/pr2714/r1
- refs/reviewable/pr2714/r2
- refs/reviewable/pr2714/r3
- refs/reviewable/pr2715/r1
- refs/reviewable/pr2715/r2
- refs/reviewable/pr2717/r1
- refs/reviewable/pr2717/r2
- refs/reviewable/pr2719/r1
- refs/reviewable/pr2729/r1
- refs/reviewable/pr2729/r2
- refs/reviewable/pr2731/r1
- refs/reviewable/pr2731/r2
- refs/reviewable/pr2734/r1
- refs/reviewable/pr2735/r1
- refs/reviewable/pr2735/r2
- refs/reviewable/pr2736/r1
- refs/reviewable/pr2737/r1
- refs/reviewable/pr2737/r2
- refs/reviewable/pr2737/r3
- refs/reviewable/pr2737/r4
- refs/reviewable/pr2738/r1
- refs/reviewable/pr2738/r2
- refs/reviewable/pr2742/r1
- refs/reviewable/pr2743/r1
- refs/reviewable/pr2744/r1
- refs/reviewable/pr2744/r2
- refs/reviewable/pr2746/r1
- refs/reviewable/pr2746/r2
- refs/reviewable/pr2749/r1
- refs/reviewable/pr2750/r1
- refs/reviewable/pr2752/r1
- refs/reviewable/pr2757/r1
- refs/reviewable/pr2758/r1
- refs/reviewable/pr2759/r1
- refs/reviewable/pr2760/r1
- refs/reviewable/pr2762/r1
- refs/reviewable/pr2764/r1
- refs/reviewable/pr2767/r1
- refs/reviewable/pr2769/r1
- refs/reviewable/pr2772/r1
- refs/reviewable/pr2772/r2
- refs/reviewable/pr2772/r3
- refs/reviewable/pr2772/r4
- refs/reviewable/pr2773/r1
- refs/reviewable/pr2778/r1
- refs/reviewable/pr2778/r2
- refs/reviewable/pr2780/r1
- refs/reviewable/pr2781/r1
- refs/reviewable/pr2784/r1
- refs/reviewable/pr2789/r1
- refs/reviewable/pr2791/r1
- refs/reviewable/pr2792/r1
- refs/reviewable/pr2792/r2
- refs/reviewable/pr2797/r1
- refs/reviewable/pr2801/r1
- refs/reviewable/pr2802/r1
- refs/reviewable/pr2804/r1
- refs/reviewable/pr2805/r1
- refs/reviewable/pr2854/r1
- refs/reviewable/pr3118/r1
- refs/reviewable/pr3126/r1
- refs/reviewable/pr3132/r1
- refs/reviewable/pr3135/r1
- refs/reviewable/pr3135/r2
- refs/reviewable/pr3135/r3
- refs/reviewable/pr3158/r1
- refs/reviewable/pr3564/r1
- refs/reviewable/pr3592/r1
- refs/reviewable/pr4656/r1
- refs/reviewable/pr4657/r1
- refs/reviewable/pr4702/r1
- refs/reviewable/pr4745/r1
- refs/reviewable/pr864/r1
- refs/tags/10.0.0
- refs/tags/10.0.0-next.0
- refs/tags/10.0.0-next.1
- refs/tags/10.0.0-next.2
- refs/tags/10.0.0-next.3
- refs/tags/10.0.0-next.4
- refs/tags/10.0.0-next.5
- refs/tags/10.0.0-next.6
- refs/tags/10.0.0-next.7
- refs/tags/10.0.0-next.8
- refs/tags/10.0.0-next.9
- refs/tags/10.0.0-rc.0
- refs/tags/10.0.0-rc.2
- refs/tags/10.0.0-rc.3
- refs/tags/10.0.0-rc.4
- refs/tags/10.0.0-rc.5
- refs/tags/10.0.0-rc.6
- refs/tags/10.0.1
- refs/tags/10.0.10
- refs/tags/10.0.11
- refs/tags/10.0.12
- refs/tags/10.0.13
- refs/tags/10.0.14
- refs/tags/10.0.2
- refs/tags/10.0.3
- refs/tags/10.0.4
- refs/tags/10.0.5
- refs/tags/10.0.6
- refs/tags/10.0.7
- refs/tags/10.0.8
- refs/tags/10.0.9
- refs/tags/10.1.0
- refs/tags/10.1.0-next.0
- refs/tags/10.1.0-next.1
- refs/tags/10.1.0-next.2
- refs/tags/10.1.0-next.3
- refs/tags/10.1.0-next.4
- refs/tags/10.1.0-next.5
- refs/tags/10.1.0-next.6
- refs/tags/10.1.0-next.7
- refs/tags/10.1.0-next.8
- refs/tags/10.1.0-rc.0
- refs/tags/10.1.1
- refs/tags/10.1.2
- refs/tags/10.1.3
- refs/tags/10.1.4
- refs/tags/10.1.5
- refs/tags/10.1.6
- refs/tags/10.2.0
- refs/tags/10.2.1
- refs/tags/10.2.2
- refs/tags/10.2.3
- refs/tags/10.2.4
- refs/tags/10.2.5
- refs/tags/11.0.0
- refs/tags/11.0.0-next.0
- refs/tags/11.0.0-next.1
- refs/tags/11.0.0-next.2
- refs/tags/11.0.0-next.3
- refs/tags/11.0.0-next.4
- refs/tags/11.0.0-next.5
- refs/tags/11.0.0-next.6
- refs/tags/11.0.0-rc.0
- refs/tags/11.0.0-rc.1
- refs/tags/11.0.0-rc.2
- refs/tags/11.0.0-rc.3
- refs/tags/11.0.1
- refs/tags/11.0.2
- refs/tags/11.0.3
- refs/tags/11.0.4
- refs/tags/11.0.5
- refs/tags/11.0.6
- refs/tags/11.0.7
- refs/tags/11.0.8
- refs/tags/11.0.9
- refs/tags/11.1.0
- refs/tags/11.1.0-next.0
- refs/tags/11.1.0-next.1
- refs/tags/11.1.0-next.2
- refs/tags/11.1.0-next.3
- refs/tags/11.1.0-next.4
- refs/tags/11.1.0-next.5
- refs/tags/11.1.0-rc.0
- refs/tags/11.1.1
- refs/tags/11.1.2
- refs/tags/11.2.0
- refs/tags/11.2.0-next.0
- refs/tags/11.2.0-next.1
- refs/tags/11.2.0-rc.0
- refs/tags/11.2.1
- refs/tags/11.2.10
- refs/tags/11.2.11
- refs/tags/11.2.12
- refs/tags/11.2.13
- refs/tags/11.2.14
- refs/tags/11.2.2
- refs/tags/11.2.3
- refs/tags/11.2.4
- refs/tags/11.2.5
- refs/tags/11.2.6
- refs/tags/11.2.7
- refs/tags/11.2.8
- refs/tags/11.2.9
- refs/tags/12.0.0-next.0
- refs/tags/12.0.0-next.1
- refs/tags/12.0.0-next.2
- refs/tags/12.0.0-next.3
- refs/tags/12.0.0-next.4
- refs/tags/12.0.0-next.5
- refs/tags/12.0.0-next.6
- refs/tags/12.0.0-next.7
- refs/tags/12.0.0-next.8
- refs/tags/12.0.0-next.9
- refs/tags/12.0.0-rc.0
- refs/tags/12.0.0-rc.1
- refs/tags/12.0.0-rc.2
- refs/tags/12.0.0-rc.3
- refs/tags/12.0.1
- refs/tags/12.0.2
- refs/tags/12.0.3
- refs/tags/12.0.4
- refs/tags/12.0.5
- refs/tags/12.1.0
- refs/tags/12.1.0-next.2
- refs/tags/12.1.0-next.3
- refs/tags/12.1.0-next.4
- refs/tags/12.1.0-next.5
- refs/tags/12.1.0-next.6
- refs/tags/12.1.1
- refs/tags/12.1.2
- refs/tags/12.1.3
- refs/tags/12.1.4
- refs/tags/12.1.5
- refs/tags/12.2.0
- refs/tags/12.2.0-next.0
- refs/tags/12.2.0-next.1
- refs/tags/12.2.0-next.2
- refs/tags/12.2.0-next.3
- refs/tags/12.2.0-rc.0
- refs/tags/12.2.1
- refs/tags/12.2.10
- refs/tags/12.2.11
- refs/tags/12.2.12
- refs/tags/12.2.13
- refs/tags/12.2.14
- refs/tags/12.2.15
- refs/tags/12.2.16
- refs/tags/12.2.17
- refs/tags/12.2.2
- refs/tags/12.2.3
- refs/tags/12.2.4
- refs/tags/12.2.5
- refs/tags/12.2.6
- refs/tags/12.2.7
- refs/tags/12.2.8
- refs/tags/12.2.9
- refs/tags/13.0.0
- refs/tags/13.0.0-next.0
- refs/tags/13.0.0-next.1
- refs/tags/13.0.0-next.10
- refs/tags/13.0.0-next.11
- refs/tags/13.0.0-next.12
- refs/tags/13.0.0-next.13
- refs/tags/13.0.0-next.14
- refs/tags/13.0.0-next.15
- refs/tags/13.0.0-next.2
- refs/tags/13.0.0-next.3
- refs/tags/13.0.0-next.4
- refs/tags/13.0.0-next.5
- refs/tags/13.0.0-next.6
- refs/tags/13.0.0-next.7
- refs/tags/13.0.0-next.8
- refs/tags/13.0.0-next.9
- refs/tags/13.0.0-rc.0
- refs/tags/13.0.0-rc.1
- refs/tags/13.0.0-rc.2
- refs/tags/13.0.0-rc.3
- refs/tags/13.0.1
- refs/tags/13.0.2
- refs/tags/13.0.3
- refs/tags/13.1.0
- refs/tags/13.1.0-next.0
- refs/tags/13.1.0-next.1
- refs/tags/13.1.0-next.2
- refs/tags/13.1.0-next.3
- refs/tags/13.1.1
- refs/tags/13.1.2
- refs/tags/13.1.3
- refs/tags/13.2.0
- refs/tags/13.2.0-next.0
- refs/tags/13.2.0-next.1
- refs/tags/13.2.0-next.2
- refs/tags/13.2.0-rc.0
- refs/tags/13.2.0-rc.1
- refs/tags/13.2.1
- refs/tags/13.2.2
- refs/tags/13.2.3
- refs/tags/13.2.4
- refs/tags/13.2.5
- refs/tags/13.2.6
- refs/tags/13.2.7
- refs/tags/13.3.0
- refs/tags/13.3.0-next.0
- refs/tags/13.3.0-rc.0
- refs/tags/13.3.1
- refs/tags/13.3.10
- refs/tags/13.3.11
- refs/tags/13.3.12
- refs/tags/13.3.2
- refs/tags/13.3.3
- refs/tags/13.3.4
- refs/tags/13.3.5
- refs/tags/13.3.6
- refs/tags/13.3.7
- refs/tags/13.3.8
- refs/tags/13.3.9
- refs/tags/13.4.0
- refs/tags/14.0.0
- refs/tags/14.0.0-next.0
- refs/tags/14.0.0-next.1
- refs/tags/14.0.0-next.10
- refs/tags/14.0.0-next.11
- refs/tags/14.0.0-next.12
- refs/tags/14.0.0-next.13
- refs/tags/14.0.0-next.14
- refs/tags/14.0.0-next.15
- refs/tags/14.0.0-next.16
- refs/tags/14.0.0-next.2
- refs/tags/14.0.0-next.3
- refs/tags/14.0.0-next.4
- refs/tags/14.0.0-next.5
- refs/tags/14.0.0-next.6
- refs/tags/14.0.0-next.7
- refs/tags/14.0.0-next.8
- refs/tags/14.0.0-next.9
- refs/tags/14.0.0-rc.0
- refs/tags/14.0.0-rc.1
- refs/tags/14.0.0-rc.2
- refs/tags/14.0.0-rc.3
- refs/tags/14.0.1
- refs/tags/14.0.2
- refs/tags/14.0.3
- refs/tags/14.0.4
- refs/tags/14.0.5
- refs/tags/14.0.6
- refs/tags/14.0.7
- refs/tags/14.1.0
- refs/tags/14.1.0-next.0
- refs/tags/14.1.0-next.1
- refs/tags/14.1.0-next.2
- refs/tags/14.1.0-next.3
- refs/tags/14.1.0-next.4
- refs/tags/14.1.0-rc.0
- refs/tags/14.1.1
- refs/tags/14.1.2
- refs/tags/14.1.3
- refs/tags/14.2.0
- refs/tags/14.2.0-next.0
- refs/tags/14.2.0-next.1
- refs/tags/14.2.0-rc.0
- refs/tags/14.2.1
- refs/tags/14.2.10
- refs/tags/14.2.11
- refs/tags/14.2.12
- refs/tags/14.2.2
- refs/tags/14.2.3
- refs/tags/14.2.4
- refs/tags/14.2.5
- refs/tags/14.2.6
- refs/tags/14.2.7
- refs/tags/14.2.8
- refs/tags/14.2.9
- refs/tags/14.3.0
- refs/tags/15.0.0
- refs/tags/15.0.0-next.0
- refs/tags/15.0.0-next.1
- refs/tags/15.0.0-next.2
- refs/tags/15.0.0-next.3
- refs/tags/15.0.0-next.4
- refs/tags/15.0.0-next.5
- refs/tags/15.0.0-next.6
- refs/tags/15.0.0-rc.0
- refs/tags/15.0.0-rc.1
- refs/tags/15.0.0-rc.2
- refs/tags/15.0.0-rc.3
- refs/tags/15.0.0-rc.4
- refs/tags/15.0.1
- refs/tags/15.0.2
- refs/tags/15.0.3
- refs/tags/15.0.4
- refs/tags/15.1.0
- refs/tags/15.1.0-next.0
- refs/tags/15.1.0-next.1
- refs/tags/15.1.0-next.2
- refs/tags/15.1.0-next.3
- refs/tags/15.1.0-rc.0
- refs/tags/15.1.1
- refs/tags/15.1.2
- refs/tags/15.1.3
- refs/tags/15.1.4
- refs/tags/15.1.5
- refs/tags/15.2.0
- refs/tags/15.2.0-next.0
- refs/tags/15.2.0-next.1
- refs/tags/15.2.0-next.2
- refs/tags/15.2.0-next.3
- refs/tags/15.2.0-next.4
- refs/tags/15.2.0-rc.0
- refs/tags/15.2.1
- refs/tags/15.2.10
- refs/tags/15.2.2
- refs/tags/15.2.3
- refs/tags/15.2.4
- refs/tags/15.2.5
- refs/tags/15.2.6
- refs/tags/15.2.7
- refs/tags/15.2.8
- refs/tags/15.2.9
- refs/tags/16.0.0
- refs/tags/16.0.0-next.0
- refs/tags/16.0.0-next.1
- refs/tags/16.0.0-next.2
- refs/tags/16.0.0-next.3
- refs/tags/16.0.0-next.4
- refs/tags/16.0.0-next.5
- refs/tags/16.0.0-next.6
- refs/tags/16.0.0-next.7
- refs/tags/16.0.0-rc.0
- refs/tags/16.0.0-rc.1
- refs/tags/16.0.0-rc.2
- refs/tags/16.0.0-rc.3
- refs/tags/16.0.0-rc.4
- refs/tags/16.0.1
- refs/tags/16.0.2
- refs/tags/16.0.3
- refs/tags/16.0.4
- refs/tags/16.0.5
- refs/tags/16.0.6
- refs/tags/16.1.0
- refs/tags/16.1.0-next.0
- refs/tags/16.1.0-next.1
- refs/tags/16.1.0-next.2
- refs/tags/16.1.0-next.3
- refs/tags/16.1.0-rc.0
- refs/tags/16.1.1
- refs/tags/16.1.2
- refs/tags/16.1.3
- refs/tags/16.1.4
- refs/tags/16.1.5
- refs/tags/16.1.6
- refs/tags/16.1.7
- refs/tags/16.1.8
- refs/tags/16.1.9
- refs/tags/16.2.0
- refs/tags/16.2.0-next.0
- refs/tags/16.2.0-next.1
- refs/tags/16.2.0-next.2
- refs/tags/16.2.0-next.3
- refs/tags/16.2.0-next.4
- refs/tags/16.2.0-rc.0
- refs/tags/16.2.1
- refs/tags/16.2.10
- refs/tags/16.2.11
- refs/tags/16.2.12
- refs/tags/16.2.2
- refs/tags/16.2.3
- refs/tags/16.2.4
- refs/tags/16.2.5
- refs/tags/16.2.6
- refs/tags/16.2.7
- refs/tags/16.2.8
- refs/tags/16.2.9
- refs/tags/17.0.0
- refs/tags/17.0.0-next.0
- refs/tags/17.0.0-next.1
- refs/tags/17.0.0-next.2
- refs/tags/17.0.0-next.3
- refs/tags/17.0.0-next.4
- refs/tags/17.0.0-next.5
- refs/tags/17.0.0-next.6
- refs/tags/17.0.0-next.7
- refs/tags/17.0.0-next.8
- refs/tags/17.0.0-rc.0
- refs/tags/17.0.0-rc.1
- refs/tags/17.0.0-rc.2
- refs/tags/17.0.0-rc.3
- refs/tags/17.0.1
- refs/tags/17.0.2
- refs/tags/17.0.3
- refs/tags/17.0.4
- refs/tags/17.0.5
- refs/tags/17.0.6
- refs/tags/17.0.7
- refs/tags/17.0.8
- refs/tags/17.0.9
- refs/tags/17.1.0
- refs/tags/17.1.0-next.0
- refs/tags/17.1.0-next.1
- refs/tags/17.1.0-next.2
- refs/tags/17.1.0-next.3
- refs/tags/17.1.0-next.4
- refs/tags/17.1.0-next.5
- refs/tags/17.1.0-rc.0
- refs/tags/17.1.1
- refs/tags/17.1.2
- refs/tags/17.1.3
- refs/tags/17.2.0
- refs/tags/17.2.0-next.0
- refs/tags/17.2.0-next.1
- refs/tags/17.2.0-rc.0
- refs/tags/17.2.0-rc.1
- refs/tags/17.2.1
- refs/tags/17.2.2
- refs/tags/17.2.3
- refs/tags/17.2.4
- refs/tags/17.3.0
- refs/tags/17.3.0-next.0
- refs/tags/17.3.0-next.1
- refs/tags/17.3.0-rc.0
- refs/tags/17.3.1
- refs/tags/17.3.10
- refs/tags/17.3.11
- refs/tags/17.3.12
- refs/tags/17.3.2
- refs/tags/17.3.3
- refs/tags/17.3.4
- refs/tags/17.3.5
- refs/tags/17.3.6
- refs/tags/17.3.7
- refs/tags/17.3.8
- refs/tags/17.3.9
- refs/tags/18.0.0
- refs/tags/18.0.0-next.0
- refs/tags/18.0.0-next.1
- refs/tags/18.0.0-next.2
- refs/tags/18.0.0-next.3
- refs/tags/18.0.0-next.4
- refs/tags/18.0.0-next.5
- refs/tags/18.0.0-next.6
- refs/tags/18.0.0-rc.0
- refs/tags/18.0.0-rc.1
- refs/tags/18.0.0-rc.2
- refs/tags/18.0.0-rc.3
- refs/tags/18.0.1
- refs/tags/18.0.2
- refs/tags/18.0.3
- refs/tags/18.0.4
- refs/tags/18.0.5
- refs/tags/18.0.6
- refs/tags/18.0.7
- refs/tags/18.1.0
- refs/tags/18.1.0-next.0
- refs/tags/18.1.0-next.1
- refs/tags/18.1.0-next.2
- refs/tags/18.1.0-next.3
- refs/tags/18.1.0-next.4
- refs/tags/18.1.0-rc.0
- refs/tags/18.1.1
- refs/tags/18.1.2
- refs/tags/18.1.3
- refs/tags/18.2.0-next.0
- refs/tags/18.2.0-next.1
- refs/tags/18.2.0-next.2
- refs/tags/18.2.0-next.3
- refs/tags/18.2.0-next.4
- refs/tags/2.0.0
- refs/tags/2.0.0-alpha.13
- refs/tags/2.0.0-alpha.14
- refs/tags/2.0.0-alpha.15
- refs/tags/2.0.0-alpha.16
- refs/tags/2.0.0-alpha.17
- refs/tags/2.0.0-alpha.18
- refs/tags/2.0.0-alpha.19
- refs/tags/2.0.0-alpha.20
- refs/tags/2.0.0-alpha.21
- refs/tags/2.0.0-alpha.22
- refs/tags/2.0.0-alpha.23
- refs/tags/2.0.0-alpha.24
- refs/tags/2.0.0-alpha.25
- refs/tags/2.0.0-alpha.26
- refs/tags/2.0.0-alpha.27
- refs/tags/2.0.0-alpha.28
- refs/tags/2.0.0-alpha.29
- refs/tags/2.0.0-alpha.30
- refs/tags/2.0.0-alpha.31
- refs/tags/2.0.0-alpha.32
- refs/tags/2.0.0-alpha.33
- refs/tags/2.0.0-alpha.34
- refs/tags/2.0.0-alpha.35
- refs/tags/2.0.0-alpha.36
- refs/tags/2.0.0-alpha.37
- refs/tags/2.0.0-alpha.38
- refs/tags/2.0.0-alpha.39
- refs/tags/2.0.0-alpha.40
- refs/tags/2.0.0-alpha.41
- refs/tags/2.0.0-alpha.42
- refs/tags/2.0.0-alpha.44
- refs/tags/2.0.0-alpha.45
- refs/tags/2.0.0-alpha.46
- refs/tags/2.0.0-alpha.47
- refs/tags/2.0.0-alpha.48
- refs/tags/2.0.0-alpha.49
- refs/tags/2.0.0-alpha.50
- refs/tags/2.0.0-alpha.51
- refs/tags/2.0.0-alpha.52
- refs/tags/2.0.0-alpha.53
- refs/tags/2.0.0-alpha.54
- refs/tags/2.0.0-alpha.55
- refs/tags/2.0.0-beta.0
- refs/tags/2.0.0-beta.1
- refs/tags/2.0.0-beta.10
- refs/tags/2.0.0-beta.11
- refs/tags/2.0.0-beta.12
- refs/tags/2.0.0-beta.13
- refs/tags/2.0.0-beta.14
- refs/tags/2.0.0-beta.15
- refs/tags/2.0.0-beta.16
- refs/tags/2.0.0-beta.17
- refs/tags/2.0.0-beta.2
- refs/tags/2.0.0-beta.3
- refs/tags/2.0.0-beta.4
- refs/tags/2.0.0-beta.5
- refs/tags/2.0.0-beta.6
- refs/tags/2.0.0-beta.7
- refs/tags/2.0.0-beta.8
- refs/tags/2.0.0-beta.9
- refs/tags/2.0.0-build.006a96d.js
- refs/tags/2.0.0-build.00822c3.dart
- refs/tags/2.0.0-build.00822c3.js
- refs/tags/2.0.0-build.015faee.dart
- refs/tags/2.0.0-build.015faee.js
- refs/tags/2.0.0-build.016ab31.dart
- refs/tags/2.0.0-build.016ab31.js
- refs/tags/2.0.0-build.019cb41.dart
- refs/tags/2.0.0-build.019cb41.js
- refs/tags/2.0.0-build.01ba94b.dart
- refs/tags/2.0.0-build.01ba94b.js
- refs/tags/2.0.0-build.0206d72.dart
- refs/tags/2.0.0-build.0206d72.js
- refs/tags/2.0.0-build.020ce32.dart
- refs/tags/2.0.0-build.020ce32.js
- refs/tags/2.0.0-build.0290362.dart
- refs/tags/2.0.0-build.0290362.js
- refs/tags/2.0.0-build.03823d4.dart
- refs/tags/2.0.0-build.03823d4.js
- refs/tags/2.0.0-build.039ed3b.dart
- refs/tags/2.0.0-build.039ed3b.js
- refs/tags/2.0.0-build.03e3035.dart
- refs/tags/2.0.0-build.03e3035.js
- refs/tags/2.0.0-build.041c599.dart
- refs/tags/2.0.0-build.041c599.js
- refs/tags/2.0.0-build.046758c.dart
- refs/tags/2.0.0-build.046758c.js
- refs/tags/2.0.0-build.0544e07.dart
- refs/tags/2.0.0-build.0544e07.js
- refs/tags/2.0.0-build.059e09c.dart
- refs/tags/2.0.0-build.059e09c.js
- refs/tags/2.0.0-build.05fa1fd.dart
- refs/tags/2.0.0-build.05fa1fd.js
- refs/tags/2.0.0-build.05fb269.dart
- refs/tags/2.0.0-build.05fb269.js
- refs/tags/2.0.0-build.0614797.dart
- refs/tags/2.0.0-build.0614797.js
- refs/tags/2.0.0-build.065ac93.dart
- refs/tags/2.0.0-build.065ac93.js
- refs/tags/2.0.0-build.06b2aa1.dart
- refs/tags/2.0.0-build.06b2aa1.js
- refs/tags/2.0.0-build.06d076a.dart
- refs/tags/2.0.0-build.06d076a.js
- refs/tags/2.0.0-build.06e32eb.dart
- refs/tags/2.0.0-build.06e32eb.js
- refs/tags/2.0.0-build.070d818.dart
- refs/tags/2.0.0-build.070d818.js
- refs/tags/2.0.0-build.071165f.dart
- refs/tags/2.0.0-build.071165f.js
- refs/tags/2.0.0-build.074075d.dart
- refs/tags/2.0.0-build.074075d.js
- refs/tags/2.0.0-build.080469f.dart
- refs/tags/2.0.0-build.080469f.js
- refs/tags/2.0.0-build.0815a77.dart
- refs/tags/2.0.0-build.0815a77.js
- refs/tags/2.0.0-build.093b794.dart
- refs/tags/2.0.0-build.093b794.js
- refs/tags/2.0.0-build.0a3a17f.dart
- refs/tags/2.0.0-build.0a3a17f.js
- refs/tags/2.0.0-build.0a44fc6.dart
- refs/tags/2.0.0-build.0a44fc6.js
- refs/tags/2.0.0-build.0ae7775.dart
- refs/tags/2.0.0-build.0ae7775.js
- refs/tags/2.0.0-build.0b6e75a.dart
- refs/tags/2.0.0-build.0b6e75a.js
- refs/tags/2.0.0-build.0c9596a.dart
- refs/tags/2.0.0-build.0c9596a.js
- refs/tags/2.0.0-build.0cdf280.dart
- refs/tags/2.0.0-build.0cdf280.js
- refs/tags/2.0.0-build.0db0252.dart
- refs/tags/2.0.0-build.0db0252.js
- refs/tags/2.0.0-build.0df8bc4.dart
- refs/tags/2.0.0-build.0df8bc4.js
- refs/tags/2.0.0-build.0ec9ccf.dart
- refs/tags/2.0.0-build.0ec9ccf.js
- refs/tags/2.0.0-build.0ef6809.dart
- refs/tags/2.0.0-build.0ef6809.js
- refs/tags/2.0.0-build.0f85b36.dart
- refs/tags/2.0.0-build.0f85b36.js
- refs/tags/2.0.0-build.0f8e40b.dart
- refs/tags/2.0.0-build.0f8e40b.js
- refs/tags/2.0.0-build.116015b.dart
- refs/tags/2.0.0-build.116015b.js
- refs/tags/2.0.0-build.125fa38.dart
- refs/tags/2.0.0-build.125fa38.js
- refs/tags/2.0.0-build.132829e.dart
- refs/tags/2.0.0-build.132829e.js
- refs/tags/2.0.0-build.13e6354.dart
- refs/tags/2.0.0-build.13e6354.js
- refs/tags/2.0.0-build.140ce9f.dart
- refs/tags/2.0.0-build.140ce9f.js
- refs/tags/2.0.0-build.1417e12.dart
- refs/tags/2.0.0-build.1417e12.js
- refs/tags/2.0.0-build.15f5f27.dart
- refs/tags/2.0.0-build.15f5f27.js
- refs/tags/2.0.0-build.1607ef8.dart
- refs/tags/2.0.0-build.1607ef8.js
- refs/tags/2.0.0-build.16d9c60.dart
- refs/tags/2.0.0-build.16d9c60.js
- refs/tags/2.0.0-build.16e74cf.dart
- refs/tags/2.0.0-build.16e74cf.js
- refs/tags/2.0.0-rc.0
- refs/tags/2.0.0-rc.1
- refs/tags/2.0.0-rc.2
- refs/tags/2.0.0-rc.3
- refs/tags/2.0.0-rc.4
- refs/tags/2.0.0-rc.5
- refs/tags/2.0.0-rc.6
- refs/tags/2.0.0-rc.7
- refs/tags/2.0.1
- refs/tags/2.0.2
- refs/tags/2.1.0
- refs/tags/2.1.0-beta.0
- refs/tags/2.1.0-rc.0
- refs/tags/2.1.1
- refs/tags/2.1.2
- refs/tags/2.2.0
- refs/tags/2.2.0-beta.0
- refs/tags/2.2.0-beta.1
- refs/tags/2.2.0-rc.0
- refs/tags/2.2.1
- refs/tags/2.2.2
- refs/tags/2.2.3
- refs/tags/2.2.4
- refs/tags/2.3.0
- refs/tags/2.3.0-beta.0
- refs/tags/2.3.0-beta.1
- refs/tags/2.3.0-rc.0
- refs/tags/2.3.1
- refs/tags/2.4.0
- refs/tags/2.4.0-marker
- refs/tags/2.4.1
- refs/tags/2.4.10
- refs/tags/2.4.2
- refs/tags/2.4.3
- refs/tags/2.4.4
- refs/tags/2.4.5
- refs/tags/2.4.6
- refs/tags/2.4.7
- refs/tags/2.4.8
- refs/tags/2.4.9
- refs/tags/4.0.0
- refs/tags/4.0.0-beta.0
- refs/tags/4.0.0-beta.1
- refs/tags/4.0.0-beta.2
- refs/tags/4.0.0-beta.3
- refs/tags/4.0.0-beta.4
- refs/tags/4.0.0-beta.5
- refs/tags/4.0.0-beta.6
- refs/tags/4.0.0-beta.7
- refs/tags/4.0.0-beta.8
- refs/tags/4.0.0-rc.1
- refs/tags/4.0.0-rc.2
- refs/tags/4.0.0-rc.3
- refs/tags/4.0.0-rc.4
- refs/tags/4.0.0-rc.5
- refs/tags/4.0.0-rc.6
- refs/tags/4.0.1
- refs/tags/4.0.2
- refs/tags/4.0.3
- refs/tags/4.1.0
- refs/tags/4.1.0-beta.0
- refs/tags/4.1.0-beta.1
- refs/tags/4.1.0-rc.0
- refs/tags/4.1.1
- refs/tags/4.1.2
- refs/tags/4.1.3
- refs/tags/4.2.0
- refs/tags/4.2.0-beta.0
- refs/tags/4.2.0-beta.1
- refs/tags/4.2.0-rc.0
- refs/tags/4.2.0-rc.1
- refs/tags/4.2.0-rc.2
- refs/tags/4.2.1
- refs/tags/4.2.2
- refs/tags/4.2.3
- refs/tags/4.2.4
- refs/tags/4.2.5
- refs/tags/4.2.6
- refs/tags/4.3.0
- refs/tags/4.3.0-beta.0
- refs/tags/4.3.0-beta.1
- refs/tags/4.3.0-rc.0
- refs/tags/4.3.1
- refs/tags/4.3.2
- refs/tags/4.3.3
- refs/tags/4.3.4
- refs/tags/4.3.5
- refs/tags/4.3.6
- refs/tags/4.4.0
- refs/tags/4.4.0-RC.0
- refs/tags/4.4.1
- refs/tags/4.4.2
- refs/tags/4.4.3
- refs/tags/4.4.4
- refs/tags/4.4.5
- refs/tags/4.4.6
- refs/tags/4.4.7
- refs/tags/5.0.0
- refs/tags/5.0.0-beta.0
- refs/tags/5.0.0-beta.1
- refs/tags/5.0.0-beta.2
- refs/tags/5.0.0-beta.3
- refs/tags/5.0.0-beta.4
- refs/tags/5.0.0-beta.5
- refs/tags/5.0.0-beta.6
- refs/tags/5.0.0-beta.7
- refs/tags/5.0.0-rc.0
- refs/tags/5.0.0-rc.1
- refs/tags/5.0.0-rc.2
- refs/tags/5.0.0-rc.3
- refs/tags/5.0.0-rc.4
- refs/tags/5.0.0-rc.5
- refs/tags/5.0.0-rc.6
- refs/tags/5.0.0-rc.7
- refs/tags/5.0.0-rc.8
- refs/tags/5.0.0-rc.9
- refs/tags/5.0.1
- refs/tags/5.0.2
- refs/tags/5.0.3
- refs/tags/5.0.4
- refs/tags/5.0.5
- refs/tags/5.1.0
- refs/tags/5.1.0-beta.0
- refs/tags/5.1.0-beta.1
- refs/tags/5.1.0-beta.2
- refs/tags/5.1.0-rc.0
- refs/tags/5.1.0-rc.1
- refs/tags/5.1.1
- refs/tags/5.1.2
- refs/tags/5.1.3
- refs/tags/5.2.0
- refs/tags/5.2.0-beta.0
- refs/tags/5.2.0-beta.1
- refs/tags/5.2.0-rc.0
- refs/tags/5.2.1
- refs/tags/5.2.10
- refs/tags/5.2.11
- refs/tags/5.2.2
- refs/tags/5.2.3
- refs/tags/5.2.4
- refs/tags/5.2.5
- refs/tags/5.2.6
- refs/tags/5.2.7
- refs/tags/5.2.8
- refs/tags/5.2.9
- f671dd58155db6ea46ed26e502713c5cc30822fb
- Branches list truncated to 1000 entries, 231 were omitted.
- 12.0.0
- Releases list truncated to 1 entries, 8 were omitted.
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
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 |
---|---|---|---|---|
f671dd5 | George Kalpakas | 18 March 2022, 19:47:16 UTC | fix(docs-infra): update (and unpin) dependency versions for preview server (#45390) Update the `Dockerfile` used to create the preview server to use the latest stable version of Debian (`bullseye`) and also update package versions to latest versions. Also, unpin the versions of installed packages (except for Node.js related ones) as pinning proved problematic due to many packages removing old versions from the official repositories. NOTE: This change will allow the preview server to be updated on the VM and take advantage of recent fixes, such as #45349. Currently, the update fails with the error: ``` E: Version '7.64.0-4+deb10u1' for 'curl' was not found The command '/bin/sh -c apt-get update -y && apt-get install -y curl=7.64.0-4+deb10u1' returned a non-zero code: 100 ``` PR Close #45390 | 24 March 2022, 17:53:58 UTC |
f19b36f | Krzysztof Platis | 18 March 2022, 23:14:04 UTC | fix(zone.js): in TaskTrackingZoneSpec track a periodic task until it is cancelled (#45391) Before this change, the macrotask for `setInterval(callback, ms)` was no longer tracked by `TaskTrackingZoneSpec` after the `callback` was invoked for the first time. Now the periodic macrotask is tracked until it is cancelled, e.g. `clearInterval(id)`. BREAKING CHANGE: in TaskTrackingZoneSpec track a periodic task until it is cancelled The breaking change is scoped only to the plugin `zone.js/plugins/task-tracking`. If you used `TaskTrackingZoneSpec` and checked the pending macroTasks e.g. using `(this.ngZone as any)._inner ._parent._properties.TaskTrackingZone.getTasksFor('macroTask')`, then its behavior slightly changed for periodic macrotasks. For example, previously the `setInterval` macrotask was no longer tracked after its callback was executed for the first time. Now it's tracked until the task is explicitly cancelled, e.g with `clearInterval(id)`. fixes 45350 PR Close #45391 | 24 March 2022, 17:53:36 UTC |
c7bcc1b | arturovt | 19 March 2022, 01:17:03 UTC | fix(zone.js): check if `process` is defined when patching the `GlobalErrors.install` (#45392) Jasmine checks internally if `process` and `process.on` is defined. Otherwise, it installs the browser rejection handler through the `global.addEventListener`. This code may be run in the browser environment where `process` is not defined, and this will lead to a runtime exception since Webpack 5 removed automatic Node.js polyfills. PR Close #42260 PR Close #45392 | 24 March 2022, 17:52:34 UTC |
dc72f30 | Paul Gschwendtner | 19 March 2022, 07:55:32 UTC | fix(bazel): ng module compilation workers are subject to linker race-conditions (#45393) The Bazel NodeJS rules provide two ways of accessing node modules: * A linker which creates a `node_modules` directory in the execroot/or in the runfiles. * A patched module resolution where no node modules directory necessarily needs to exist. The first is the default in `rules_nodejs` and the second is technically the most idiomatic resolution mechanism in Bazel (as it matches with a runfile resolution library). The linker is prone to race conditions in persistent workers, or non-sandbox environments (like windows). This is because the linker for all workers will operate on a shared `execroot` directory and the same `node_modules` directory is modified all the time / potentially conflicting with other linker processes from other concurrently-running workers. We rely on the patched module resolution anyway, but just need to disable the unused linker to avoid issues like the following: ``` ---8<---8<--- Start of log, file at /private/var/tmp/_bazel_splaktar/280f06d55552a0d01f89f0955b5acd78/bazel-workers/worker-8-TypeScriptCompile.log ---8<---8<--- [link_node_modules.js] An error has been reported: [Error: ENOENT: no such file or directory, unlink 'node_modules'] { errno: -2, code: 'ENOENT', syscall: 'unlink', path: 'node_modules' } Error: ENOENT: no such file or directory, unlink 'node_modules' ---8<---8<--- End of log ---8<---8<--- INFO: Elapsed time: 12.796s, Critical Path: 5.39s INFO: 645 processes: 477 internal, 12 darwin-sandbox, 156 worker. ``` PR Close #45393 | 24 March 2022, 17:52:12 UTC |
c9d566c | Kristiyan Kostadinov | 19 March 2022, 15:05:24 UTC | feat(core): drop support for TypeScript 4.4 and 4.5 (#45394) Drops support for TypeScript older than 4.6 and removes some workarounds in the compiler. BREAKING CHANGE: TypeScript versions older than 4.6 are no longer supported. PR Close #45394 | 24 March 2022, 17:51:47 UTC |
0dca774 | George Kalpakas | 22 March 2022, 08:48:07 UTC | build(docs-infra): upgrade cli command docs sources to c0a0bfb65 (#45408) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/bff1908b4...c0a0bfb65): **Modified** - help/add.json PR Close #45408 | 24 March 2022, 17:50:19 UTC |
fc97499 | Alan Agius | 22 March 2022, 13:11:04 UTC | build(docs-infra): remove `defaultProject` workspace option (#45410) The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. See: https://github.com/angular/angular-cli/pull/22852 PR Close #45410 | 24 March 2022, 17:49:57 UTC |
5ff459e | Alan Agius | 22 March 2022, 13:09:18 UTC | test: remove `defaultProject` workspace option (#45410) The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. See: https://github.com/angular/angular-cli/pull/22852 PR Close #45410 | 24 March 2022, 17:49:57 UTC |
85782e6 | Mike | 22 March 2022, 14:53:05 UTC | docs(router): Fix typo on segments (#45411) PR Close #45411 | 24 March 2022, 17:49:35 UTC |
fe0e42a | Dylan Hunn | 23 March 2022, 18:28:04 UTC | fix(forms): Make UntypedFormBuilder assignable to FormBuilder, and vice versa. (#45421) There was a subtle bug involving the opt-out class for FormBuilder, which I discovered during the ongoing migration. The types must be structurally the same, because people pass around FormBuilders, in addition to passing around the controls they produce. This PR ensures FormBuilder and UntypedFormBuilder are assignable to each other. PR Close #45421 | 24 March 2022, 17:49:10 UTC |
38ad849 | Joey Perrott | 23 March 2022, 17:16:20 UTC | fix(docs-infra): prevent framing of AIO with X-Frame-Options (#45419) Prevent the docs site from being place in an iframe. PR Close #45419 | 23 March 2022, 19:20:49 UTC |
8155428 | Alex Rickabaugh | 09 February 2022, 01:09:20 UTC | perf(compiler-cli): ignore the module.id anti-pattern for NgModule ids (#45024) In early versions of Angular, it was sometimes necessary to provide a `moduleId` to `@Component` metadata, and the common pattern for doing this was to set `moduleId: module.id`. This relied on the bundler to fill in a value for `module.id`. However, due to the superficial similarity between `Component.moduleId` and `NgModule.id`, many users ended up setting `id: module.id` in their NgModules. This is an anti-pattern that has a few negative effects, including preventing the NgModule from tree-shaking properly. This commit changes the compiler to ignore `id: module.id` in NgModules, and instead provide a warning which suggests removing the line entirely. PR Close #45024 | 22 March 2022, 18:11:54 UTC |
34c5b7a | Alex Rickabaugh | 09 February 2022, 01:26:40 UTC | refactor(compiler-cli): support non-error diagnostics from traits (#45024) Previously, the `TraitCompiler` would naively consider a compilation as failed if either analysis or resolution produced any diagnostics. This commit adjusts the logic to only consider error diagnostics, which allows warnings to be produced from `DecoratorHandler`s. This is a precursor commit to introducing such a warning. As such, the logic here will be tested in the next commit. PR Close #45024 | 22 March 2022, 18:11:53 UTC |
27b4af7 | Alex Rickabaugh | 11 February 2022, 22:58:00 UTC | fix(compiler-cli): full side-effectful registration of NgModules with ids (#45024) Angular contains an NgModule registry, which allows a user to declare NgModules with string ids and retrieve them via those ids, using the `getNgModuleById` API. Previously, we attempted to structure this registration in a clever fashion to allow for tree-shaking of registered NgModules (that is, those with ids). This sort of worked due to the accidental alignment of behaviors from the different tree-shakers involved. However, this trick relies on the generation of `.ngfactory` files and how they're specifically processed in various bundling scenarios. We intend to remove `.ngfactory` files, hence we can no longer rely on them in this way. The correct solution here is to recognize that `@NgModule({id})` is inherently declaring a global side-effect, and such classes should not really be eligible for tree-shaking in the first place. This commit removes all the old registration machinery, and standardizes on generating a side- effectful call to `registerNgModuleType` for NgModules that have ids. There is some risk here that NgModules with unnecessary `id`s may not tree-shake as a result of this change, whereas they would have in previous circumstances. The fix here should be to remove the `id` if it's not needed. Specifying an `id` is a request that the NgModule be retained regardless of any other references, in case it is later looked up by string id. PR Close #45024 | 22 March 2022, 18:11:53 UTC |
e57b410 | Alex Rickabaugh | 10 February 2022, 01:36:33 UTC | refactor(compiler-cli): linker honors associated statements for a field (#45024) When `@angular/compiler` processes metadata and compiles a definition field, it might also choose to return statements that are associated with that definition, and should be included after the type being compiled. Currently, the linker ignores these statements, as there are none generated that are relevant in the linking operation. A challenge to supporting such associated statements is that the linker operates on "declare" expressions, and replaces those expressions with other expressions. It does not have the capability to append statements after the whole type. The linker actually faces this challenge with statements from the `ConstantPool` as well, and solves this problem by generating an IIFE expression that executes the statements and then returns the definition expression. Previously, an `EmitScope` processed the definition and converted it to an expression, as well as collected constant statements from a `ConstantPool`. A special `IifeEmitScope` implementation was used when emitting into a context where top-level constant statements couldn't be added at all, and uses the IIFE strategy in this case. This commit adds blanket support for associated statements to the linker using this IIFE strategy. The main `EmitScope` now uses the IIFE strategy to emit associated statements, and `IifeEmitScope` has been renamed to `LocalEmitScope`. Now, the `LocalEmitScope` represents constant statements as associated statements to the main `EmitScope` implementation, so they get included in the IIFE as well. Tests are adjusted/added to cover this new behavior. This is a refactoring commit because no live generated code is affected - there are no cases where associated statements are present in linked definitions today. PR Close #45024 | 22 March 2022, 18:11:53 UTC |
72e7d09 | Alex Rickabaugh | 10 February 2022, 23:31:10 UTC | refactor(compiler): change NgModule scoping emit flag to enum (#45024) The `compileNgModule` operation previously supported a flag `emitInline`, which controlled whether template scoping information for the NgModule was emitted directly into the compiled NgModule definition, or whether an associated statement was generated which patched the information onto the NgModule definition. Both options are useful in different contexts. This commit changes this flag to an enum (and renames it), which allows for a third option - do not emit any template scoping information. This option is added to better represent the actual behavior of the Angular Linker, which sometimes configures `compileNgModule` to use the side-effectful statement generation but which does not actually emit such associated statements. In other words, the linker effectively does not generate scoping information for NgModules at all (in some configurations) and this option more directly expresses that behavior. This is a refactoring as no generated code is changed as a result of introducing this flag, due to the linker's behavior of not emitting associated statements. PR Close #45024 | 22 March 2022, 18:11:53 UTC |
9d8ff5d | Renovate Bot | 21 March 2022, 23:36:57 UTC | build: update dependency @types/chrome to ^0.0.180 (#45357) PR Close #45357 | 21 March 2022, 23:59:56 UTC |
6507150 | George Kalpakas | 19 March 2022, 08:46:41 UTC | build(docs-infra): upgrade cli command docs sources to bff1908b4 (#45395) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/a517160a2...bff1908b4): **Added** - help/cache.json **Modified** - help/add.json - help/analytics.json - help/build.json - help/config.json - help/deploy.json - help/doc.json - help/e2e.json - help/extract-i18n.json - help/generate.json - help/lint.json - help/new.json - help/run.json - help/serve.json - help/test.json - help/update.json - help/version.json ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/207de70b7...bff1908b4) since PR #45385: **Added** - help/cache.json **Modified** - help/config.json ## Closes #45330 Closes #45346 Closes #45361 Closes #45385 PR Close #45395 | 21 March 2022, 23:58:00 UTC |
15dbb4d | Ben Brook | 09 March 2022, 19:56:19 UTC | docs(docs-infra): fix TypeScript casing (#45307) PR Close #45307 | 21 March 2022, 23:57:11 UTC |
b716a81 | Alan Agius | 21 March 2022, 17:36:00 UTC | docs: replace `defaultCollection` with `schematicCollections` (#45406) `defaultCollection` has deprecated in favor of `schematicCollections`. Related to https://github.com/angular/angular-cli/pull/22860 PR Close #45406 | 21 March 2022, 23:56:10 UTC |
e80df0d | Paul Gschwendtner | 21 March 2022, 20:27:51 UTC | build: update to bazel v5 for new runfiles API used in dev-infra (#45407) https://blog.bazel.build/2022/01/19/bazel-5.0.html#starlark-build-language PR Close #45407 | 21 March 2022, 23:55:36 UTC |
fffa023 | JoostK | 19 March 2022, 14:08:15 UTC | fix(compiler): scope css rules within `@layer` blocks (#45396) This commit starts scoping CSS rules nested within `@layer` blocks. Fixes #45389 PR Close #45396 | 21 March 2022, 21:51:45 UTC |
aec9abd | Alan Agius | 15 March 2022, 06:44:55 UTC | fix(docs-infra): don't wrap subcommands in code element (#45343) With this change we no longer wrap subcommands titles and sub navigation items in code element for nicer UI PR Close #45343 | 21 March 2022, 21:49:27 UTC |
c26915c | Dylan Hunn | 10 March 2022, 02:48:52 UTC | refactor(core): Make the typed forms migration apply to all usages of the symbols. (#45311) Previously, the migration only migrated constructor calls. Now, the migration will rewrite every usage, in all contexts. Both ways are technically correct, but migrating all symbols is likely to produce clearer and more readable results. PR Close #45311 | 21 March 2022, 21:40:59 UTC |
79d334b | dario-piotrowicz | 27 February 2022, 17:55:53 UTC | feat(animations): provide warnings for non-animatable CSS properties (#45212) warn developers when they are trying to animate non-animatable CSS properties so that can more easily understand why something is not being animated as they would expect it to resolves #27577 PR Close #45212 | 21 March 2022, 21:33:19 UTC |
a049840 | Joey Perrott | 14 March 2022, 20:14:03 UTC | build(docs-infra): move to circleci v2 api for aio-builds (#45349) Move to the CircleCI v2 api as the authentication fails for downloading artifacts using the v1 methods. CircleCI v2 api now requires authentication to occur view the headers instead of being done in a query parameter, all of the CircleCI interactions are now performed through one fetchFromCircleCi method which ensures the token is provided in the headers as expected. PR Close #45349 | 17 March 2022, 21:03:26 UTC |
2a75754 | Kristiyan Kostadinov | 13 March 2022, 10:37:59 UTC | fix(animations): apply default params when resolved value is null or undefined (#45339) The animations package supports adding default parameter values to an animation that will be used as a fallback if some parameters aren't defined. The problem is that they're applied using a spread expression which means that any own property of the animation parameters will override the defaults, even if it resolves to null or undefined. This can lead to obscure errors like "Cannot read property toString of undefined" for an animation that looks like `{params: {foo: undefined}}` with defaults `{foo: 123}`. I ran into this issue while debugging some test failures on Material. These changes address the issue by: 1. Applying the defaults if the resolved value is null or undefined. 2. Updating the validation function to use a null check instead of `hasOwnProperty`. PR Close #45339 | 17 March 2022, 21:02:37 UTC |
59a5b54 | AlirezaEbrahimkhani | 14 March 2022, 15:50:41 UTC | docs: add how to access the resolved data (#45345) complete resolver example and add how to access the resolved data in component resolves angular#45313 PR Close #45345 | 16 March 2022, 22:05:24 UTC |
9d5ad67 | Renovate Bot | 16 March 2022, 05:36:34 UTC | build: lock file maintenance (#45341) PR Close #45341 | 16 March 2022, 21:36:28 UTC |
2b6749f | Andrew Scott | 16 March 2022, 19:41:35 UTC | release: cut the v14.0.0-next.7 release (#45368) | 16 March 2022, 19:41:35 UTC |
34c48a3 | Andrew Scott | 16 March 2022, 19:27:54 UTC | docs: release notes for the v13.3.0 release (#45366) | 16 March 2022, 19:27:54 UTC |
306fb5e | Andrew Scott | 16 March 2022, 18:35:43 UTC | docs: release notes for the v13.2.7 release (#45364) | 16 March 2022, 18:35:43 UTC |
3ad033c | Renovate Bot | 16 March 2022, 05:32:34 UTC | build: update github/codeql-action action to v1.1.5 (#45358) PR Close #45358 | 16 March 2022, 18:21:45 UTC |
e47ba49 | why520crazy | 15 March 2022, 02:06:50 UTC | docs: add ngx-gantt to "EXPLORE ANGULAR RESOURCES" page (#45351) PR Close #45351 | 15 March 2022, 23:29:23 UTC |
9db9091 | Amer Yousuf | 24 February 2022, 14:01:19 UTC | fix(forms): improve error message for invalid value accessors (#45192) improve error message for invalid value accessors when accessor is not provided as array PR Close #45192 | 15 March 2022, 20:26:03 UTC |
8a7e624 | Lee Cooper | 11 March 2022, 00:20:58 UTC | fix(docs-infra): fix tour of heroes global styles (#45329) fix button styles in src/styles.css that are missing from code snippets PR Close #45329 | 15 March 2022, 20:24:52 UTC |
c12b327 | alirezaghey | 14 March 2022, 09:21:17 UTC | docs: fix small English typo (#45340) PR Close #45340 | 14 March 2022, 20:10:19 UTC |
c305112 | Andrew Scott | 11 March 2022, 00:20:52 UTC | docs: Fix typo in issue template (#45327) PR Close #45327 | 14 March 2022, 16:31:01 UTC |
22d1dc0 | Derek Cormier | 13 January 2022, 23:43:39 UTC | build(bazel): add bazel build and test targets for aio build (#45022) First step towards a migration of aio to bazel. Not yet built by ci. PR Close #45022 | 14 March 2022, 16:25:34 UTC |
0dbd50b | Renovate Bot | 12 March 2022, 10:38:13 UTC | build: update dependency eslint-plugin-jsdoc to v38 (#45332) PR Close #45332 | 14 March 2022, 16:23:42 UTC |
7f043c9 | Alan Agius | 09 March 2022, 19:22:37 UTC | build(docs-infra): upgrade cli command docs sources to a517160a2 (#45225) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). PR Close #45225 | 10 March 2022, 23:51:18 UTC |
34218ec | Alan Agius | 04 March 2022, 16:21:53 UTC | feat(docs-infra): remove hidden commands processor (#45225) Hidden commands are no longer included in help JSON output. PR Close #45225 | 10 March 2022, 23:51:18 UTC |
8f06fa3 | Alan Agius | 02 March 2022, 08:49:57 UTC | feat(docs-infra): update CLI templates to match changes with new parser and folder structure (#45225) The underlying parser that the CLI uses changed which caused minor changes in the generated JSON helps especially for subcommands. The folder structure of the Angular CLI repo also changed slightly. More context: https://github.com/angular/angular-cli/pull/22778 PR Close #45225 | 10 March 2022, 23:51:18 UTC |
5f7c4f6 | Jessica Janiuk | 09 March 2022, 17:32:26 UTC | refactor(core): Switch over to new closure LOCALE vs getLocale() (#45302) This is a change requested via an LSC due to a deprecation. PR Close #45302 | 10 March 2022, 20:48:29 UTC |
8848d2d | Paul Gschwendtner | 10 March 2022, 19:46:50 UTC | docs: add manual changelog edits from `13.3.x` to main branch (#45323) Adds the manual changelog edits from the `13.3.x` branch to the main branch (where users primarily will look at). PR Close #45323 | 10 March 2022, 20:08:26 UTC |
79580bb | Andrew Scott | 10 March 2022, 19:31:59 UTC | docs: release notes for the v13.3.0-rc.0 release (#45322) | 10 March 2022, 19:31:59 UTC |
a08ea3f | Andrew Scott | 09 March 2022, 19:48:19 UTC | refactor(router): Make a few adjustments to createUrlTree for clarity (#45306) * `tree` function now accepts the old root rather than the old `UrlTree`. The `urlTree` argument was only used to get the `root`. This change makes it more clear what that pararmeter is used for and what's actually being used * Move the `oldRoot` (previously `urlTree`) to be the first argument of `tree`. This change now mirrors the argument order for `replaceSegment` and can be read from left to right more easily "in this root, replace this old segment group with this new segment group". * Extract `newRoot` to a variable. This just makes it more clear what's going on at the end rather than combining a bunch of operations into one. These changes are being made so that hopefully a future refactor can be done which does not rely on the `urlTree` argument at all in the `createUrlTree` function. These refactorings will make it easier to see 1:1 functionlity in these various places. PR Close #45306 | 09 March 2022, 21:52:38 UTC |
2e2c80a | Alistair Kane | 12 February 2022, 19:52:06 UTC | docs: update <div> to <p> in lifecycle-hooks.md (#45063) Changes <div> to <p> in description to match the elements in the screenshot. Update lifecycle-hooks.md Changes <div> to <p> in description to match the elements in the screenshot. PR Close #45063 | 09 March 2022, 21:52:15 UTC |
c7cab69 | JiaLiPassion | 06 March 2022, 12:13:40 UTC | docs(core): update triggerEventHandler samples (#45279) PR Close #45279 | 09 March 2022, 21:51:54 UTC |
225e4f2 | JiaLiPassion | 06 March 2022, 12:11:16 UTC | feat(core): triggerEventHandler accept optional eventObj (#45279) Close #44724 `DebugNode.triggerEventHandler()` should accept the `eventObj` as an optional parameter. So the user don't have to write code like ``` elem.triggerEventHandler('click', null); ``` PR Close #45279 | 09 March 2022, 21:51:54 UTC |
89d71b5 | Andrew Kushnir | 09 March 2022, 19:31:22 UTC | docs: update CHANGELOG to fix broken markdown (#45305) PR Close #45305 | 09 March 2022, 21:51:26 UTC |
a301b36 | Andrew Kushnir | 09 March 2022, 17:04:59 UTC | release: cut the v14.0.0-next.6 release (#45301) | 09 March 2022, 17:04:59 UTC |
51b67eb | Andrew Kushnir | 09 March 2022, 17:02:09 UTC | docs: release notes for the v13.2.6 release (#45300) | 09 March 2022, 17:02:09 UTC |
be220fa | Andrew Scott | 08 March 2022, 21:32:31 UTC | fix(language-service): Prioritize Angular-specific completions over DOM completions (#45293) When authoring Angular templates, developers are likely to be most interested in the current Directive/Component inputs and outputs, then potential attributes which would match other directives to the element, and lastly the plethora of DOM events and attributes. This change ensures that Angular-specific information appears above DOM information by prepending the first printable ASCII characters to the sort text. Fixes https://github.com/angular/vscode-ng-language-service/issues/1537 PR Close #45293 | 08 March 2022, 22:48:37 UTC |
dc6094a | Paul Gschwendtner | 08 March 2022, 11:40:37 UTC | ci: update payload size goldens to reflect zone.js update (#45289) ZoneJS has been updated as part of the lock file refresh by Renovate. The polyfills bundle reduced in size by around 4k which is due to some code simplication in ZoneJS being finally released. This is the commit responsible for the major reduction (also mentioning the reduction): https://github.com/angular/angular/commit/0f298a13dbd141e5440d1388b124d03384641efe PR Close #45289 | 08 March 2022, 21:15:14 UTC |
6d240c4 | Renovate Bot | 08 March 2022, 06:44:43 UTC | build: lock file maintenance (#45289) Refreshes the lock file through Renovate. PR Close #45289 | 08 March 2022, 21:15:13 UTC |
e78a928 | Andrew Scott | 08 March 2022, 16:46:25 UTC | refactor(migrations): update `isReferenceToImport` to not use `valueDeclaration` (#45292) valueDeclaration is only set when the Symbol type is a `Value`: * [setValueDeclaration](https://sourcegraph.com/github.com/microsoft/TypeScript@d8b21a8d6cef772fea5cf2a507b651c5d38194bd/-/blob/src/compiler/binder.ts?L321-322) * [Value union](https://sourcegraph.com/github.com/microsoft/TypeScript@d8b21a8d6cef772fea5cf2a507b651c5d38194bd/-/blob/src/compiler/types.ts?L4849:9#tab=references) This won't be the case if the symbol is an interface (notice that `Interface` is not in the union for `Value` above). For this reason, we can't rely on the `valueDeclaration` property of the symbol. Instead, it's more reliable to just compare the first items in the `declarations` list. PR Close #45292 | 08 March 2022, 21:13:24 UTC |
ba0efd1 | Alan Agius | 07 March 2022, 08:11:08 UTC | refactor: replace deprecated `HTMLDocument` with `Document` (#45282) `HTMLDocument` is deprecated in favor of `Document`. This change replaces the usages of `HTMLDocument`. See: https://github.com/microsoft/TypeScript/blob/20c93d3b1da44d8ee740b466a5cde7894e8b3260/lib/lib.dom.d.ts#L6370-L6376 PR Close #45282 | 08 March 2022, 21:12:14 UTC |
6cec8aa | Dylan Hunn | 08 March 2022, 01:47:56 UTC | refactor(core): Improve the efficiency of the Typed Forms migration. (#45288) Consider a file that imports `FormControl` and then never uses it. In that case, we don't need to add the import for `UntypedFormControl`. By examining constructor calls *first*, we can identify these cases and skip over them. This will reduce the memory footprint of the migration when run in tsunami, hopefully making OOM errors less likely. PR Close #45288 | 08 March 2022, 20:06:16 UTC |
6eaaefd | Alan Agius | 07 March 2022, 15:43:13 UTC | feat(core): drop support for Node.js 12 (#45286) Node.js v12 will become EOL on 2022-04-30. As a result, Angular CLI v14 will no longer support Node.js v12. BREAKING CHANGE: Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later. PR Close #45286 | 08 March 2022, 20:05:03 UTC |
f58b8a9 | Renovate Bot | 07 March 2022, 18:38:20 UTC | build: update all non-major dependencies (#45250) PR Close #45250 | 08 March 2022, 18:35:17 UTC |
f25c8be | Renovate Bot | 07 March 2022, 22:38:18 UTC | build: update scorecard action dependencies (#45249) PR Close #45249 | 08 March 2022, 18:31:16 UTC |
2ca4ef7 | Renovate Bot | 03 March 2022, 06:10:30 UTC | build: update actions/checkout action to v3 (#45248) PR Close #45248 | 08 March 2022, 18:28:31 UTC |
9e56e40 | Mladen Jakovljević | 07 March 2022, 18:37:51 UTC | fix(docs-infra): remove anchor tags from heritage docs (#45287) Remove anchor tags from heritage docs and let `autoLinkCode` insert them properly. PR Close #45287 | 08 March 2022, 18:26:49 UTC |
4478dff | George Kalpakas | 08 March 2022, 12:58:24 UTC | docs(service-worker): improve description of `NoNewVersionDetectedEvent` (#45266) The `NoNewVersionDetectedEvent` does not imply that the latest version on the server is the same as the version the client is on (because a client could be on an older version). Update the description of the event to better describe what it actually means (i.e. that the SW didn't find a version it didn't already know about, but without implying anything about the version the current client is using). PR Close #45266 | 08 March 2022, 18:26:05 UTC |
3ecf930 | Luca | 08 March 2022, 13:57:23 UTC | fix(service-worker): file system hash in batch of 500 elements (#45262) Add file system concurrency hash test Fixes #45133 PR Close #45262 | 08 March 2022, 18:23:38 UTC |
2b7553d | Andrew Scott | 21 January 2022, 22:41:03 UTC | fix(compiler): compute correct offsets when interpolations have HTML entities (#44811) When parsing interpolations, the input string is _decoded_ from what was in the orginal template. This means that we cannot soley rely on the input string to compute source spans because it does not necessarily reflect the exact content of the original template. Specifically, when there is an HTML entity (i.e. ` `), this will show up in its decoded form when processing the interpolation (' '). We need to compute offsets using the original _encoded_ string. Note that this problem only surfaces in the splitting of interpolations. The spans to this point have already been tracked accurately. For example, given the template ` <div></div>`, the source span for the `div` is already correctly determined to be 6. Only when we encounter interpolations with many parts do we run into situations where we need to compute new spans for the individual parts of the interpolation. PR Close #44811 | 08 March 2022, 18:23:07 UTC |
9fa6f5a | Kristiyan Kostadinov | 22 February 2022, 12:53:24 UTC | fix(core): incorrectly inserting elements inside <template> element (#43429) Currently whenever we insert element we do it directly on the node using `appendChild` or `insertBefore`, however this doesn't work with `<template>` elements where the `template.content` has to be used. These changes add a few checks to call `appendChild` and `insertBefore` on the `content` of the template. Fixes #15557. PR Close #43429 | 08 March 2022, 18:22:18 UTC |
a659d15 | Srikanth Kolli | 04 March 2022, 01:04:46 UTC | docs: Change tag name to TD from TR in context of colspan usage (#45257) PR Close #45257 | 07 March 2022, 23:41:35 UTC |
0b31c8e | nanda18 | 04 March 2022, 17:48:34 UTC | docs: update `flush` description to include microtasks (#45237) PR Close #45237 | 07 March 2022, 23:41:07 UTC |
1a5cd06 | Renovate Bot | 05 March 2022, 09:08:31 UTC | build: update dependency google-closure-compiler to v20220301 (#45260) PR Close #45260 | 07 March 2022, 22:30:45 UTC |
68eda48 | Renovate Bot | 03 March 2022, 11:11:57 UTC | build: update dependency magic-string to v0.26.1 (#45247) PR Close #45247 | 07 March 2022, 22:29:45 UTC |
d336ba9 | Dylan Hunn | 07 March 2022, 04:21:40 UTC | fix(forms): Update the typed forms migration. (#45281) The typed forms migration was previously designed to add `<any>` type parameters to existing forms classes. However, due to some design changes, the new opt-out strategy requires untyped versions of the classes, as introduced in #45205 and #45268. This PR updates the migration to import these new classes (in an idempotent manner), and replace constructor calls with the new classes. It respects qualified imports as well. Finally, the code has been refactored to move as much common code as possible into `util.ts`. PR Close #45281 | 07 March 2022, 20:24:59 UTC |
d87f66c | Kristiyan Kostadinov | 07 March 2022, 13:28:40 UTC | test(compiler): fix deprecation warning (#45285) Jasmine logs a warning when there's a `describe` with no tests. These changes fix one such case in the compiler that happens when the tests are run against Windows. PR Close #45285 | 07 March 2022, 19:36:47 UTC |
886cfe8 | JiaLiPassion | 05 March 2022, 12:06:03 UTC | ci: components CI test should use local zone.js build (#45277) CI components test install the angular package from the local version, but still use the zone.js from npm, so this commit let components also install zone.js from local too. PR Close #45277 | 07 March 2022, 19:34:58 UTC |
0bb55f8 | George Kalpakas | 05 March 2022, 08:46:06 UTC | build(docs-infra): upgrade cli command docs sources to 9aa2eb03f (#45275) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/ac175ff10...9aa2eb03f): **Modified** - help/build.json - help/generate.json PR Close #45275 | 07 March 2022, 19:34:31 UTC |
aa7b857 | ananyahs96 | 04 March 2022, 21:56:12 UTC | fix(forms): Property renaming safe code (#45271) This fixes property renaming related issues in advanced closure compiler optimizations. PR Close #45271 | 07 March 2022, 19:33:54 UTC |
8c171da | JoostK | 04 March 2022, 18:15:21 UTC | refactor(compiler): specify `@angular/core` as peer dependency (#45267) The compiler generates code for the Angular runtime in `@angular/core` which has to be the exact same version, as otherwise there may be version skew between what the compiler generates and what the runtime supports. This would result in hard to diagnose problems at runtime. By adding a peer dependency for `@angular/compiler` on `@angular/core` we can let the package manager report an error (NPM 7+) or warning (NPM 6, Yarn) during installation to signal that the set of packages is incompatible. PR Close #45267 | 07 March 2022, 19:32:21 UTC |
94bba76 | Kristiyan Kostadinov | 01 March 2022, 13:26:08 UTC | feat(core): support TypeScript 4.6 (#45190) Adds support for TypeScript 4.6. PR Close #45190 | 07 March 2022, 19:31:39 UTC |
4332897 | Dylan Hunn | 03 March 2022, 17:37:32 UTC | fix(forms): Add UntypedFormBuilder (#45268) This was intended to be part of #45205, but was left out. Adds a new class for use in migration. PR Close #45268 | 04 March 2022, 23:25:09 UTC |
26ead25 | Andrew Scott | 03 March 2022, 21:28:12 UTC | refactor(router): Use helper function to throw NoMatch (#45244) This update matches the other locations where noMatch is thrown. PR Close #45244 | 04 March 2022, 23:24:13 UTC |
bc89598 | Joey Perrott | 04 March 2022, 20:19:01 UTC | build: patch snapshot issue in dev-infra selecting the latest version tag (#45269) Local patch ahead of landing of https://github.com/angular/dev-infra/pull/449 PR Close #45269 | 04 March 2022, 23:23:39 UTC |
9b1e9c0 | JiaLiPassion | 03 March 2022, 23:12:49 UTC | release: cut the zone.js-0.11.5 release (#45256) PR Close #45256 | 03 March 2022, 23:49:46 UTC |
bd04fbc | Joey Perrott | 25 February 2022, 21:56:14 UTC | feat(service-worker): emit a notification when the service worker is already up to date after check (#45216) When the service worker checks for an update and finds that the version on the server is the same as the version locally installed, it currently noops. This change introduces an event which it emits in this situation which notifies clients a check has occurred without error and no update was found. PR Close #45216 | 03 March 2022, 20:29:04 UTC |
5e0e64f | Anner Visser | 26 February 2022, 16:35:11 UTC | docs: change link for devtools to angular repo (#45207) PR Close #45207 | 03 March 2022, 20:28:25 UTC |
2e105a1 | Aristeidis Bampakos | 21 February 2022, 00:19:24 UTC | docs: add Greek localization for Angular Docs (#45152) PR Close #45152 | 03 March 2022, 20:27:52 UTC |
b437d12 | JiaLiPassion | 16 February 2022, 00:53:06 UTC | fix(zone.js): defineProperties should also set symbol props (#45098) Close #44095 Fix `defineProperties` patch not set `symbol` props issue. Co-authored-by: varomodt<varomodt@users.noreply.github.com> Co-authored-by: AndrewKushnir<AndrewKushnir@users.noreply.github.com> PR Close #45098 | 03 March 2022, 20:22:05 UTC |
5883e05 | Andrew Scott | 02 March 2022, 17:10:49 UTC | refactor(router): Remove special logic for hybrid apps (#45240) This commit removes special (undocumented) logic in the Router code that is meant to prevent duplicate navigations that result from location syncs in AngularJS/Angular hybrid applications. The duplicate navigations can occur when both the Router and the AngularJS sync code detect a location change via a popstate/hashchange event. When this happens, the Angular Router schedules a navigation to sync itself with the browser, but the hybrid listener may also schedule an additional navigation. There are a few reasons this logic should not be included in the Router: * This special logic is not tree shakeable so it introduces a bundle size cost for all applications, most of which don't need it. * There have been many updates to the routing pipeline to tolerate duplicate navigations. That is, duplicate navigations can happen and routing should still complete successfully. * https://github.com/angular/angular/commit/0e8548f667e5fdefa3ac7cdf1ba47e3e17011ffc * https://github.com/angular/angular/commit/9e039ca68bfae5328f3fc1f16fabd7673c466a25 * The logic is really in the wrong place: The hybrid sync code should be the location to handle this. If duplicate navigations are meant to be avoided, the hybrid sync code should have handling to _not_ trigger duplicate navs. * This logic _also_ used to exist because the mock location helper used for test incorrectly triggered popstate events during router navigations. In order to avoid unexpected behavior in tests, this logic needed to be added. This incorrect mocking may also have been put in place because the upgrade module _would_ see a location change event and trigger a duplicate navigation. The location mock has since been updated to match real browser behavior so this is no longer necessary. The upgrade module has also been updated to not trigger duplicate navigations. The following commits are related to this: * https://github.com/angular/angular/commit/202a1a56314af4ddb99c476f974536a10e390319 * https://github.com/angular/angular/commit/c6a93001eb74374b0fbc6aea1286fe1183d21382 Side note: The `setTimeout` in the location change listener is used to ensure the ordering of duplicate navigations was consistent. You can see that the logic being removed here expects the imperative navigation to precede the popstate/hashchange. With the removal of this code, the `setTimeout` no longer serves a purpose. However, it has been found that tests can rely on this behavior (incorrectly) because they expect the navigation to be complete but in reality, it hasn't even started because the test has not flushed the timeout. Removing the timeout would be a breaking change as a result. PR Close #45240 | 03 March 2022, 17:14:39 UTC |
30c52ac | Kristiyan Kostadinov | 03 March 2022, 14:26:24 UTC | build: add retry logic to postinstall script (#45252) Several people on the team (myself included) have had issues where the `webdriver-manager` step of the `postinstall` script fails on the first run, but work correctly on the second one. These changes attempt to simplify the workflow by retrying the script up to 3 times before giving up. PR Close #45252 | 03 March 2022, 17:13:25 UTC |
6459b25 | Jessica Janiuk | 02 March 2022, 18:51:46 UTC | release: cut the v14.0.0-next.5 release (#45243) | 02 March 2022, 18:51:46 UTC |
3b85a12 | Jessica Janiuk | 02 March 2022, 18:27:13 UTC | docs: release notes for the v13.2.5 release (#45242) | 02 March 2022, 18:27:13 UTC |
69018c9 | Kristiyan Kostadinov | 02 March 2022, 06:45:17 UTC | feat(core): allow for injector to be specified when creating an embedded view (#45156) Adds support for passing in an optional injector when creating an embedded view through `ViewContainerRef.createEmbeddedView` and `TemplateRef.createEmbeddedView`. The injector allows for the DI behavior to be customized within the specific template. This is a second stab at the changes in #44666. The difference this time is that the new injector acts as a node injector, rather than a module injector. Fixes #14935. PR Close #45156 | 02 March 2022, 16:38:00 UTC |
05d50b8 | Andrew Kushnir | 17 February 2022, 06:17:59 UTC | perf(common): make `NgLocalization` token tree-shakable (#45118) This commit updates the `NgLocalization` token to become tree-shakable (vs using a direct reference to that token in the `providers` section of the `CommonModule`). The `NgLocalization` token is used for apps that use i18n and for other apps it would be excluded from the bundle. PR Close #45118 | 01 March 2022, 20:42:39 UTC |
c8e4d62 | Dylan Hunn | 28 February 2022, 20:52:35 UTC | refactor(forms): Split up `model.ts`. (#45217) model.ts is currently extremely large. This is the first step in an attempt to refactor it to be more easily navigable and reviewable. This commit breaks up `model.ts` into the following new files: * `model/abstract_model.ts`: The remainder of the model, including the `AbstractControl` base class and helper functions which are used throughout. * `model/form_control.ts`: `FormControl`, `FormControlOptions`, and helpers, plus the constructor and untyped friends. * `model/form_array.ts`: `FormArray` and untyped friends. * `model/form_group.ts`: `FormGroup` and untyped friends. This first phase is a purely mechanical code move. There is no new code at all, and no interfaces have been separated. PR Close #45217 | 01 March 2022, 19:49:31 UTC |
c5df474 | Theodore Brown | 25 February 2022, 02:51:22 UTC | fix(core): remove individual commands for updating gold files (#45198) The documented command for updating the forms gold files was outdated and didn't work. Since this command list can easily become outdated, remove the individual commands in favor of the simpler global scripts. PR Close #45198 | 01 March 2022, 19:16:53 UTC |
1b85811 | JiaLiPassion | 10 March 2021, 02:38:28 UTC | refactor(zone.js): for legacy browser, still use hard coding eventNames (#40962) For legacy browsers, we still use the eventNames array to patch event instead of using `Object.getOwnPropertyNames()` to keep backward compatibility. PR Close #40962 | 01 March 2022, 18:41:15 UTC |
0f298a1 | JiaLiPassion | 23 February 2021, 13:45:03 UTC | refactor(zone.js): remove onProp eventNames array to reduce the bundle size (#40962) Zone.js supports the google closure compiler in the advance optimization mode, to prevent closure compiler modify the `onProperty` name such as `Element.prototype.onclick`, Zone.js implements the `onProperty` patch logic by declaring all the event names in the source code, this increases the bundle size and also require updating the event names array to keep the information updated. Now google closure compiler has the required event names defined in the built-in externs files, so zone.js can use more simple implementation and decrease the bundle size of zone.js (about 4k). PR Close #40962 | 01 March 2022, 18:41:15 UTC |
c967976 | Dmitrij Kuba | 28 December 2021, 13:46:27 UTC | refactor(router): take only the first emitted value of every resolver to make it consistent with guards (#44573) The router used to wait for the resolvers to complete and take the last value. The changes here take only the first emitted value of every resolver and proceed the navigation. This matches how other guards work in the `Router` code. Resolves https://github.com/angular/angular/issues/44643 BREAKING CHANGE: Previously, resolvers were waiting to be completed before proceeding with the navigation and the Router would take the last value emitted from the resolver. The router now takes only the first emitted value by the resolvers and then proceeds with navigation. This is now consistent with `Observables` returned by other guards: only the first value is used. PR Close #44573 | 01 March 2022, 17:12:37 UTC |
bd12f9e | Dylan Hunn | 25 February 2022, 06:52:25 UTC | refactor(forms): Move `getRawValue` into the `AbstractControl` hierarchy. (#45200) Currently, there is a freestanding `getRawValue` function which examines the type of the control. This is an issue for refactoring `model.ts` because it creates unnecessary dependencies between the `AbstractControl` classes. It is cleaner to simply add this method to the model hierarchy and call it directly, and will ease upcoming refactoring. PR Close #45200 | 01 March 2022, 01:07:12 UTC |
4b936a1 | Dylan Hunn | 01 March 2022, 00:38:39 UTC | Revert "feat(core): allow for injector to be specified when creating an embedded view (#45156)" (#45220) This reverts commit 94c949a60ad0de1f5385ec97f2c1933cb1d55f22. PR Close #45220 | 01 March 2022, 01:04:57 UTC |