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
- a99892e62f95ecd8287ce601314c0da2ee6644cf
- Branches list truncated to 1000 entries, 242 were omitted.
- 12.0.0
- Releases list truncated to 1 entries, 8 were omitted.
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
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 |
---|---|---|---|---|
a99892e | Andrew Scott | 04 August 2021, 18:43:40 UTC | release: cut the v13.0.0-next.0 release (#43049) | 04 August 2021, 18:43:40 UTC |
4f93984 | Andrew Scott | 04 August 2021, 17:36:28 UTC | docs: release notes for the v12.2.0 release (#43048) | 04 August 2021, 17:36:28 UTC |
82c8393 | Andrew Scott | 04 August 2021, 17:07:10 UTC | docs: release notes for the v12.1.5 release (#43046) | 04 August 2021, 17:07:10 UTC |
8628826 | Kristiyan Kostadinov | 31 July 2021, 10:22:59 UTC | fix(core): incorrect error reported when trying to re-create view which had an error during creation (#43005) Currently if a view throws an error during creation mode, we mark it as `incompleteFirstPass` so that we can try to recover later. The recovery is only possible inside component views. The problem is that when this was introduced, I forgot to flip the `firstCreatePass` when an error is thrown which meant that calling `renderView` on the same component again is allowed. It will eventually hit an assertion which can be confusing for the end user. This issue only manifests itself when rendering views "manually" through `ViewContainerRef` (e.g. using `NgIf`). These changes flip the `firstCreatePass` back to false on errors so that trying to re-render the same view will throw an error which is consistent to the one that broke the view during creation. Fixes #41383. PR Close #43005 | 04 August 2021, 15:58:28 UTC |
f99ec27 | atscott | 03 August 2021, 21:49:34 UTC | Revert "refactor(ngcc): remove unused import (#42062)" (#43033) This reverts commit 42265cca1c0088b9623a94cfb4a39e9690e75234. PR Close #43033 | 03 August 2021, 22:38:55 UTC |
064e705 | atscott | 03 August 2021, 21:49:25 UTC | Revert "test(compiler-cli): clarify source-map expectations in compliance tests (#42062)" (#43033) This reverts commit 29f9888a985b14cf1025105baa1fd262c751cc10. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
9436f4b | atscott | 03 August 2021, 21:49:21 UTC | Revert "refactor(compiler): remove cyclic dependencies (#42062)" (#43033) This reverts commit 75855196e320022e79202ccaeb9be000da55b9eb. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
dda75ca | atscott | 03 August 2021, 21:49:17 UTC | Revert "refactor(compiler): support interpolation tokens when lexing markup (#42062)" (#43033) This reverts commit c8a46bfdcd5dac0044c4322a5b3967163056b339. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
443ece4 | atscott | 03 August 2021, 21:49:13 UTC | Revert "refactor(compiler): share `isQuote()` via `chars.ts` (#42062)" (#43033) This reverts commit 3d3b69ff81c593602b75ee8eec60b36ecc09c767. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
77731b8 | atscott | 03 August 2021, 21:49:09 UTC | Revert "refactor(compiler): support interpolation tokens when lexing attribute values (#42062)" (#43033) This reverts commit c516e252fcb199f2f503db5dc6ce563a299da010. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
8d8ab47 | atscott | 03 August 2021, 21:49:05 UTC | Revert "refactor(compiler): support encoded entity tokens when lexing markup (#42062)" (#43033) This reverts commit 942b24d5ea5d36ad4e53ed435bda35a6ae6876c9. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
ea5ed4e | atscott | 03 August 2021, 21:49:01 UTC | Revert "refactor(compiler): expose token parts in Text nodes (#42062)" (#43033) This reverts commit 8a54896a91512131fbfb0b3d2f5440aec792cbfd. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
6f05dd8 | atscott | 03 August 2021, 21:48:56 UTC | Revert "test(compiler): check `fullStart` source-span (#42062)" (#43033) This reverts commit 973f9b8d1957d5479f5813664d35fd445f38e525. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
dd82bbf | atscott | 03 August 2021, 21:48:52 UTC | Revert "fix(compiler): include leading whitespace in source-spans of i18n messages (#42062)" (#43033) This reverts commit f08516db09df64c075f273159a15f80c792c96f0. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
8b6f7ac | atscott | 03 August 2021, 21:48:49 UTC | Revert "refactor(compiler): define interfaces for each lexer token (#42062)" (#43033) This reverts commit 9b3d4f5575bfccfbbfb943dc9689f3915dd63752. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
fac6ea5 | atscott | 03 August 2021, 21:48:45 UTC | Revert "test(compiler): check that the parser supports prematurely terminated interpolations (#42062)" (#43033) This reverts commit 11ebe21d0dc8d82970153007e780800c87a76021. PR Close #43033 | 03 August 2021, 22:38:54 UTC |
28651eb | atscott | 03 August 2021, 21:48:42 UTC | Revert "refactor(compiler): use `===` rather than `==` in the ml_parser (#42062)" (#43033) This reverts commit 28b0c45fde59da35a797cbdcceba973dbbb497a4. PR Close #43033 | 03 August 2021, 22:38:53 UTC |
f85b5f9 | atscott | 03 August 2021, 21:48:20 UTC | Revert "test(compiler): add a test for parsing multiline expressions in attributes (#42062)" (#43033) This reverts commit fe1265158051ec3a90945bbc199af8c271b52842. PR Close #43033 | 03 August 2021, 22:38:53 UTC |
f0c5ba0 | ivanwonder | 22 July 2021, 09:54:26 UTC | fix(language-service): global autocomplete doesn't work when the user tries to modify the symbol (#42923) When the user tries to trigger suggestions from an interruption, the LS should provide the global completions. For example, `[input]="t¦"`, the `t` can be the `true` or the symbol from the component context. PR Close #42923 | 03 August 2021, 00:08:30 UTC |
f62366f | dario-piotrowicz | 01 August 2021, 12:30:47 UTC | docs: amend links in content-projection guide (#43009) PR Close #43009 | 02 August 2021, 22:36:51 UTC |
9a3cf66 | Kristiyan Kostadinov | 02 August 2021, 16:13:38 UTC | refactor(core): update peerDependencies to allow rxjs7 (#42991) We can't update the framework to rxjs7 until version 13, because it contains breaking changes, but we can allow users to opt into it since all of our code should be compatible. These changes expand the allowed version range of rxjs and add an integration test to verify that we don't get compilation errors. Note that we also have a test that runs the AIO examples against rxjs 7 already (#42660). Fixes #41897. PR Close #42991 | 02 August 2021, 20:55:01 UTC |
5d8759b | George Kalpakas | 31 July 2021, 08:46:31 UTC | build(docs-infra): upgrade cli command docs sources to 129d45cfa (#43004) 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/a57976b98...129d45cfa): **Modified** - help/generate.json - help/new.json PR Close #43004 | 02 August 2021, 17:42:06 UTC |
8861d73 | Andrew Kushnir | 30 July 2021, 22:11:12 UTC | build: rename shims_for_IE.js -> shims_for_internal_tests.js (#43002) This commit renames shims_for_IE.js -> shims_for_internal_tests.js, since there are no IE shims there anymore (there are still shims for older Safari and Android versions). PR Close #43002 | 02 August 2021, 17:38:42 UTC |
892ae85 | Andrew Kushnir | 30 July 2021, 22:02:20 UTC | ci: remove IE11 from the list of browsers used during CI (#43002) This commit performs several updates to stop running tests in IE11 on CI (since IE11 support was deprecated in v12 and will be dropped in v13). PR Close #43002 | 02 August 2021, 17:38:42 UTC |
fe12651 | Pete Bacon Darwin | 21 July 2021, 14:58:48 UTC | test(compiler): add a test for parsing multiline expressions in attributes (#42062) This tests a scenario that was failing in an internal project. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
28b0c45 | Pete Bacon Darwin | 01 July 2021, 10:19:39 UTC | refactor(compiler): use `===` rather than `==` in the ml_parser (#42062) This is a simple tidy up commit to move to the more specific `===` comparison operator in the HTML lexer/parser. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
11ebe21 | Pete Bacon Darwin | 17 June 2021, 17:06:33 UTC | test(compiler): check that the parser supports prematurely terminated interpolations (#42062) Such interpolations turned up during internal testing at Google, so this commit adds a test to prevent regressions. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
9b3d4f5 | Pete Bacon Darwin | 12 June 2021, 19:56:05 UTC | refactor(compiler): define interfaces for each lexer token (#42062) These token interfaces will make it easier to reason about tokens in the parser and in specs. Previously, it was never clear what items could appear in the `parts` array of a token given a particular `TokenType`. Now, each token interface declares a labelled tuple for the parts, which helps to document the token better. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
f08516d | Pete Bacon Darwin | 08 June 2021, 10:27:55 UTC | fix(compiler): include leading whitespace in source-spans of i18n messages (#42062) Previously, the way templates were tokenized meant that we lost information about the location of interpolations if the template contained encoded HTML entities. This meant that the mapping back to the source interpolated strings could be offset incorrectly. Also, the source-span assigned to an i18n message did not include leading whitespace. This confused the output source-mappings so that the first text nodes of the message stopped at the first non-whitespace character. This commit makes use of the previous refactorings, where more fine grain information was provided in text tokens, to enable the parser to identify the location of the interpolations in the original source more accurately. Fixes #41034 PR Close #42062 | 02 August 2021, 16:53:13 UTC |
973f9b8 | Pete Bacon Darwin | 20 May 2021, 12:18:33 UTC | test(compiler): check `fullStart` source-span (#42062) The tests were checking that the source-span of parsed HTML nodes were accurate, but they were not checking the span when it includes the "leading trivia", which are given by the `fullStart` rather than `start` location. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
8a54896 | Pete Bacon Darwin | 15 May 2021, 19:37:08 UTC | refactor(compiler): expose token parts in Text nodes (#42062) When it was tokenized, text content is split into parts that can include interpolations and encoded entities tokens. To make this information available to downstream processing, this commit adds these tokens to the `Text` AST nodes, with suitable processing. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
942b24d | Pete Bacon Darwin | 14 May 2021, 17:53:17 UTC | refactor(compiler): support encoded entity tokens when lexing markup (#42062) The lexer now splits encoded entity tokens out from text and attribute value tokens. Previously encoded entities would be decoded and the decoded value would be included as part of the text token of the surrounding text. Now the entities have their own tokens. There are two scenarios: text and attribute values. Previously the contents of `<div>Hello & goodbye</div>` would be a single TEXT token. Now it will be three tokens: ``` TEXT: "Hello " ENCODED_ENTITY: "&", "&" TEXT: " goodbye" ``` Previously the attribute value in `<div title="Hello & goodbye">` would be a single text token. Now it will be three tokens: ``` ATTR_VALUE_TEXT: "Hello " ENCODED_ENTITY: "&", "&" ATTR_VALUE_TEXT: " goodbye" ``` - ENCODED_ENTITY tokens have two parts: "decoded" and "encoded". - ENCODED_ENTITY tokens are always preceded and followed by either TEXT tokens or ATTR_VALUE_TEXT tokens, depending upon the context, even if they represent an empty string. The HTML parser has been modified to recombine these tokens to allow this refactoring to have limited effect in this commit. Further refactorings to use these new tokens will follow in subsequent commits. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
c516e25 | Pete Bacon Darwin | 13 May 2021, 16:00:56 UTC | refactor(compiler): support interpolation tokens when lexing attribute values (#42062) The lexer now splits interpolation tokens out from attribute value tokens. Previously the attribute value of `<div attr="Hello, {{ name}}">` would be a single token. Now it will be three tokens: ``` ATTR_VALUE_TEXT: "Hello, " ATTR_VALUE_INTERPOLATION: "{{", " name", "}}" ATTR_VALUE_TEXT: "" ``` - ATTR_VALUE_INTERPOLATION tokens have three parts, "start marker", "expression" and "end marker". - ATTR_VALUE_INTERPOLATION tokens are always preceded and followed by TEXT tokens, even if they represent an empty string. The HTML parser has been modified to recombine these tokens to allow this refactoring to have limited effect in this commit. Further refactorings to use these new tokens will follow in subsequent commits. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
3d3b69f | Pete Bacon Darwin | 12 May 2021, 19:46:49 UTC | refactor(compiler): share `isQuote()` via `chars.ts` (#42062) This function is general purpose and by moving it into the `chars.ts` file along with similar helpers, it can be reused in the lexer, for instance. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
c8a46bf | Pete Bacon Darwin | 11 May 2021, 16:03:38 UTC | refactor(compiler): support interpolation tokens when lexing markup (#42062) The lexer now splits interpolation tokens out from text tokens. Previously the contents of `<div>Hello, {{ name}}<div>` would be a single text token. Now it will be three tokens: ``` TEXT: "Hello, " INTERPOLATION: "{{", " name", "}}" TEXT: "" ``` - INTERPOLATION tokens have three parts, "start marker", "expression" and "end marker". - INTERPOLATION tokens are always preceded and followed by TEXT tokens, even if they represent an empty string. The HTML parser has been modified to recombine these tokens to allow this refactoring to have limited effect in this commit. Further refactorings to use these new tokens will follow in subsequent commits. PR Close #42062 | 02 August 2021, 16:53:13 UTC |
7585519 | Pete Bacon Darwin | 19 May 2021, 08:48:28 UTC | refactor(compiler): remove cyclic dependencies (#42062) This commit removes 9 cycles in the dependency graph of the compiler code. PR Close #42062 | 02 August 2021, 16:53:12 UTC |
29f9888 | Pete Bacon Darwin | 20 May 2021, 10:17:39 UTC | test(compiler-cli): clarify source-map expectations in compliance tests (#42062) The compliance tests can check source-map segments against expectations encoded into the expectation files. Previously, the encoding of the expected segment was only delimited by whitespace, but this made it difficult to identify segments that started or ended with whitespace. Now these segment expectations are wrapped in double-quotes which makes it easier to read and understand the expectation files. PR Close #42062 | 02 August 2021, 16:53:12 UTC |
42265cc | Pete Bacon Darwin | 30 June 2021, 13:19:44 UTC | refactor(ngcc): remove unused import (#42062) This import is not used in the file, so can be removed. PR Close #42062 | 02 August 2021, 16:53:12 UTC |
0af354c | Alex Rickabaugh | 27 July 2021, 22:59:17 UTC | refactor(bazel): extract function to patch fileNameToModuleName on host (#42974) This commit extracts the patching operation that adds `fileNameToModuleName` to the Angular compiler's `ts.CompilerHost` into a separate function, so that it can be invoked in other compilation flows besides the one outlined in `ngc-wrapped`. This is primarily needed for the xi18n operation in g3. PR Close #42974 | 30 July 2021, 16:29:42 UTC |
d8183c9 | Alex Rickabaugh | 29 July 2021, 17:58:22 UTC | refactor(compiler): remove unnecessary escapes (#42990) This commit is part of a larger scale change to eliminate unnecessary escapes in string literals, in advance of enabling stricter checks in `ts_library` rules in g3. PR Close #42990 | 30 July 2021, 16:28:46 UTC |
bfd4839 | Paul Gschwendtner | 29 July 2021, 18:59:31 UTC | fix(dev-infra): browser archive rule should handle `.dmg` files (#42992) We recently reworked our browser archive extraction to happen at analysis time for better caching. This resulted in us breaking the extraction of macOS dmg files so that Firefox is currently not usable for local testing on macOS. We implement a similar special logic for `.dmg` files to what has been done within the Bazel webtesting rules. PR Close #42992 | 30 July 2021, 16:28:06 UTC |
f31436d | Renovate Bot | 30 July 2021, 12:31:40 UTC | build: lock file maintenance (#42890) PR Close #42890 | 30 July 2021, 16:27:01 UTC |
9e30824 | Nichola Alkhouri | 29 July 2021, 07:18:19 UTC | docs: Fix wrongly provided/Injected AnimalService (#42988) In the logical tree example which demonstrate the use of `@SkipSelf` and `@Host`, the provided and injected `AnimalService` are reversed. PR Close #42988 | 29 July 2021, 22:05:52 UTC |
8ce1ac6 | Joe Martin | 27 July 2021, 18:45:21 UTC | docs: Add josmar-crwdstffng to contributors list. (#42972) Add josmar-crwdstffng to list in contributors.json. Add josephmmartin image file. PR Close #42972 | 28 July 2021, 22:56:00 UTC |
2a0e28c | Joey Perrott | 28 July 2021, 19:17:19 UTC | fix(dev-infra): ensure that building environment stamp fails silently (#42985) Previously when a failure occurred in part of building the environment stamp, the entire process errored. This should instead fail silently providing no value for the stamp. PR Close #42985 | 28 July 2021, 20:00:07 UTC |
8116895 | Joey Perrott | 28 July 2021, 18:51:31 UTC | docs: release notes for the v12.2.0-rc.0 release | 28 July 2021, 19:05:41 UTC |
e8b3ed7 | Joey Perrott | 28 July 2021, 19:03:49 UTC | release: bump the next branch to v13.0.0-next.0 | 28 July 2021, 19:03:49 UTC |
b0739c2 | Joey Perrott | 28 July 2021, 18:24:08 UTC | docs: release notes for the v12.1.4 release | 28 July 2021, 18:45:37 UTC |
a2c8933 | Renovate Bot | 27 July 2021, 07:15:04 UTC | build: update bazel to v4.0.0-beta.1 (#42967) PR Close #42967 | 28 July 2021, 17:54:05 UTC |
63918d8 | codebriefcase | 29 June 2021, 15:18:21 UTC | docs: include interpolations in the "What is Angular" example (#42702) Affected URL - https://angular.io/guide/what-is-angular#template Fixes #42665 PR Close #42702 | 28 July 2021, 17:53:32 UTC |
7c35ca0 | ivanwonder | 30 June 2021, 14:25:01 UTC | feat(language-service): support autocomplete string literal union types in templates (#42729) The native TS language service has the ability to provide autocompletions for string literal union types. This pr is for Angular to do the same in templates. Fixes https://github.com/angular/vscode-ng-language-service/issues/1096 PR Close #42729 | 28 July 2021, 17:52:34 UTC |
047994b | Paul Gschwendtner | 27 July 2021, 19:45:28 UTC | feat(dev-infra): introduce release action for directly branching-off into RC (#42973) Introduces a new release action for cutting a release-action by directly moving the next release-train into the `release-candidate` phase. This allows the Angular team to release minor versions without needing to branch-off first into the feature-freeze phase. For minors this phase can be skipped. Switching into the feature-freeze phase beforehand as a workaround would have allowed for branching-off but has the downside that `target: minor` would no longer point to the branched-off release train (only `target: rc` would work then). PR Close #42973 | 28 July 2021, 17:50:22 UTC |
0d81b00 | Steven Masala | 31 May 2021, 19:39:55 UTC | fix(router): add missing outlet events to RouterOutletContract (#42431) Exposes both activateEvents and deactivateEvents as the original outlet interface did. PR Close #42431 | 27 July 2021, 23:34:24 UTC |
85e93c3 | George Kalpakas | 22 July 2021, 15:42:19 UTC | fix(docs-infra): notify `ErrorHandler` of `UnrecoverableState` errors (#42941) With this commit, the `ErrorHandler` is notified of ServiceWorker `UnrecoverableState` errors. The main purpose of this change is gathering info about the occurrence (and frequency) of such errors in Google analytics. PR Close #42941 | 27 July 2021, 16:23:14 UTC |
b1082b7 | Andrew Scott | 26 July 2021, 18:37:35 UTC | ci: add atscott to fw-compiler reviewers (#42963) add atscott to fw-compiler reviewers PR Close #42963 | 27 July 2021, 16:22:49 UTC |
b93c42e | Vladyslav | 26 July 2021, 19:54:19 UTC | docs: updated input-output page documentation content (#42964) PR Close #42964 | 27 July 2021, 16:22:19 UTC |
057e577 | Daniel Trevino | 22 July 2021, 21:18:04 UTC | refactor(compiler-cli): add makeTemplateDiagnostic wrapper (#42937) Add a `makeTemplateDiagnostic` wrapper in the `TemplateTypeChecker`. This requiers less parameters to create template diagnostics, since the `TemplateTypeChecker` can get the templateId and mapping from it's scope with the `ts.ClassDeclartion`. The `TemplateTypeChecker` is often used to determine if a diagnostic should be produced, so it makes sense to have a function in it that helps create them. Refs #42966 PR Close #42937 | 27 July 2021, 01:00:44 UTC |
ed9cfb6 | JoostK | 16 July 2021, 21:58:50 UTC | fix(compiler-cli): use correct module resolution context for absolute imports in .d.ts files (#42879) The compiler keeps track of how a declaration has been referenced using absolute module imports and from which path the absolute module should be resolved from. There was a bug in how the .d.ts metadata extraction would incorrectly use the .d.ts file itself as resolution context for symbols that had been imported using a relative module specifier. This could result in module resolution failures. For example, when extracting NgModule metadata from `/node_modules/lib/index.d.ts` that looks like ``` import {LibDirective} from './dir'; @NgModule({ declarations: [LibDirective], exports: [LibDirective], }) export class LibModule {} ``` and `/app.module.ts` that contains ``` import {LibModule} from 'lib'; @NgModule({ imports: [LibModule], }) export class AppModule {} ``` then `AppModule` would have recorded a reference to `LibModule` using the `'lib'` module specifier. When extracting the NgModule metadata from the `/node_modules/lib/index.d.ts` file the relative import into `./dir` should also be assumed to be importable from `'lib'` (according to APF where symbols need to be exported from a single entry-point) so the reference to `LibDirective` should have `'lib'` as absolute module specifier, but it would incorrectly have `/node_modules/lib/index.d.ts` as resolution context path. The latter is incorrect as `'lib'` needs to be resolved from `/app.module.ts` and not from within the library itself. Fixes #42810 PR Close #42879 | 26 July 2021, 20:17:44 UTC |
dbae001 | Dmitrij Kuba | 02 June 2021, 11:28:27 UTC | feat(router): ability to provide custom route reuse strategy via DI for `RouterTestingModule` (#42434) For now it's not possible to provide custom route reuse strategy via DI for `RouterTestingModule`, only imperative instantiation. These changes makes it possible to provide custom route reuse strategy via DI. PR Close #42434 | 26 July 2021, 19:02:42 UTC |
72c03a0 | Paul Gschwendtner | 01 July 2021, 15:49:21 UTC | build: remove ts-api-guardian from repository (#42735) This commit removes `ts-api-guardian` from the repository. We introduced a new tool for testing API signature that is part of the shared dev-infra package. The TS API guardian package will be deprecated for the public in favor of Microsoft's API extractor that has support for more parts of the syntax, such as alias exports. PR Close #42735 | 26 July 2021, 19:02:14 UTC |
271700c | Yuvaraj | 19 July 2021, 08:08:31 UTC | docs: fix the selector in component interaction guide (#42891) The selector for the `CountdownTimerComponent` is `app-countdown-timer` not `countdown-timer`. PR Close #42891 | 26 July 2021, 18:47:55 UTC |
816ba07 | Renovate Bot | 25 July 2021, 03:14:36 UTC | build: update dependency eslint-plugin-jsdoc to v36 (#42956) PR Close #42956 | 26 July 2021, 18:37:15 UTC |
05d996d | Teri Glover | 14 July 2021, 22:25:01 UTC | docs: Edits to remove jargon (#42861) PR Close #42861 | 24 July 2021, 00:12:50 UTC |
4b49824 | Andrew Scott | 22 July 2021, 19:02:59 UTC | test(router): move computed state restoration tests to own file (#42933) To reduce the enormouse size of the integration.spec.ts file, move tests related to the computed state restoration to their own file. PR Close #42933 | 23 July 2021, 21:25:06 UTC |
9119e1f | Andrew Scott | 22 July 2021, 19:01:38 UTC | refactor(router): Ensure computed state restoration works for thrown errors (#42933) When `canceledNavigationResolution='computed'`, the `Router` needs to handle the cases where errors are thrown. Previously, the logic was not updated and would simply do a `replaceState` rather than determining where in the history we should move to restore the page/url from before the failed navigation. PR Close #42933 | 23 July 2021, 21:25:06 UTC |
8fc08c5 | Joey Perrott | 22 July 2021, 16:28:08 UTC | ci: update pullapprove config to properly handle global approvals (#42929) Update the config to properly identify a global approval as approved rather than as no file matching based groups being matched. PR Close #42929 | 23 July 2021, 19:09:26 UTC |
a6c256f | Andrew Scott | 22 July 2021, 19:19:44 UTC | docs: Add import line to router event example for clarification (#42935) Without the `import {Event} from '@angular/router';`, the filter will not work because the type is understood as the native `Event`. Fixes #42920 PR Close #42935 | 23 July 2021, 19:06:34 UTC |
1f6cc57 | George Kalpakas | 23 July 2021, 11:59:36 UTC | build(docs-infra): upgrade cli command docs sources to a57976b98 (#42943) 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/18bbd044d...a57976b98): **Modified** - help/generate.json PR Close #42943 | 23 July 2021, 19:05:56 UTC |
648da4f | Renovate Bot | 22 July 2021, 05:15:58 UTC | build: update dependency globby to v12 (#42921) PR Close #42921 | 23 July 2021, 17:37:35 UTC |
19da737 | George Kalpakas | 22 July 2021, 13:37:34 UTC | build(docs-infra): switch the `example-e2e` script to ESM (#42921) Switch the JS script used for running the docs examples tests from CommonJS to ESM format. This is necessary for upgrading the `globby` dependency to [version 12.0.0][1] in a subsequent commit. [1]: https://github.com/sindresorhus/globby/releases/v12.0.0 PR Close #42921 | 23 July 2021, 17:37:35 UTC |
662addb | George Kalpakas | 22 July 2021, 11:38:18 UTC | build(docs-infra): switch the `generate-stackblitz/zips` scripts to ESM (#42921) Switch the JS scripts used for generating StackBlitz projects and zips from CommonJS to ESM format. This is necessary for upgrading the `globby` dependency to [version 12.0.0][1] in a subsequent commit. [1]: https://github.com/sindresorhus/globby/releases/v12.0.0 PR Close #42921 | 23 July 2021, 17:37:35 UTC |
99f8338 | Joey Perrott | 22 July 2021, 19:15:50 UTC | feat(dev-infra): include experimental version stamp in env stamps (#42934) Include the determined experimental version for stamping in the env stamps created for release and snapshot builds. PR Close #42934 | 23 July 2021, 17:37:08 UTC |
e462743 | Joey Perrott | 21 July 2021, 23:39:44 UTC | refactor(dev-infra): move semver utils into the utils directory (#42917) Move semver into the utils directory rather than as a set of utils specifically for release tooling. While the utils are only currently used in the release tooling, they are not providing a release specific utility and can be used by any subtool of ng-dev. PR Close #42917 | 22 July 2021, 18:01:17 UTC |
d2b1c3e | Joey Perrott | 21 July 2021, 23:36:52 UTC | fix(dev-infra): fix creating experimental semver versions to include prerelease chunk (#42917) SemVers created for experimental versions should also include the prerelease chunk (i.e. -next.3). PR Close #42917 | 22 July 2021, 18:01:17 UTC |
69d4ebf | Joey Perrott | 21 July 2021, 23:17:17 UTC | Revert "fix(dev-infra): perform actual npm login verification for wombot proxy (#42871)" (#42917) This reverts commit fd92a3e87f08253ac8d20d01bc726c7460bd9ec9. It turns out that wombot proxy will return who is logged in, but does so regardless of if the users token is currently active. Since we cannot rely on `npm whoami` to determine the login state, we revert to our previous state of assuming new login is needed. PR Close #42917 | 22 July 2021, 18:01:17 UTC |
1d9d026 | Dylan Hunn | 12 July 2021, 17:41:02 UTC | feat(forms): add hasValidators, addValidators, and removeValidators methods (for both sync and async) (#42838) Several new functionalities are possible with this change: the most requested is that callers can now check whether a control has a required validator. Other uses include incrementally changing the validators set without doing an expensive operation to reset all validators. Closes #13461. PR Close #42838 | 22 July 2021, 16:31:00 UTC |
7e9673d | Pete Bacon Darwin | 21 July 2021, 13:07:37 UTC | ci: fix typo in docs-bug issue template (#42908) "browser specific" should be replaced with "browser-specific" because it's a compound modifier (cf. https://en.wikipedia.org/wiki/Compound_modifier). See #42906 PR Close #42908 | 22 July 2021, 16:25:39 UTC |
5d222f3 | Pete Bacon Darwin | 21 July 2021, 13:06:10 UTC | docs: fix spacing in code style guide (#42908) Fixes #42906 PR Close #42908 | 22 July 2021, 16:25:39 UTC |
b5f1779 | Teri Glover | 21 July 2021, 05:01:39 UTC | docs: Edits to remove jargon (#42907) PR Close #42907 | 22 July 2021, 16:24:15 UTC |
5fb23ec | JoostK | 12 June 2021, 14:46:24 UTC | perf(compiler-cli): skip analysis in incremental builds for files without Angular behavior (#42562) In an incremental rebuild, the compiler attempts to reuse as much analysis data from a prior compilation as possible to avoid doing the analysis work again. For source files without Angular behavior however, no analysis data would be recorded such that the source file had to be reanalyzed each rebuild, even if it has not changed. This commit avoids the analysis of such source files by registering these files as not containing any Angular behavior; allowing subsequent rebuilds to avoid the analysis work. PR Close #42562 | 21 July 2021, 22:40:38 UTC |
a502279 | iRealNirmal | 11 June 2021, 14:02:47 UTC | feat(forms): allow minLength/maxLength validator to be bound to `null` (#42565) If the validator is bound to be `null` then no validation occurs and attribute is not added to DOM. For every validator type different PR will be raised as discussed in https://github.com/angular/angular/pull/42378. Closes #42267. PR Close #42565 | 21 July 2021, 22:35:59 UTC |
eefe168 | George Kalpakas | 20 July 2021, 09:25:57 UTC | fix(core): correctly handle `null` or `undefined` in `ErrorHandler#handleError()` (#42881) Since `ErrorHandler#handleError()` expects an argument of type `any` it should be able to handle values such as `null` and `undefined`. Previously, it failed to handle these values, because it was trying to access properties on them. This commit fixes it by ensuring no properties are accessed on `null` or `undefined` values. NOTE: This is part of fully addressing #28106. Fixes #21252 PR Close #42881 | 21 July 2021, 22:35:34 UTC |
4d86ea6 | Paul Gschwendtner | 19 July 2021, 16:18:41 UTC | ci: no longer use deprecated `pullapprove_conditions` option (#42895) PullApprove deprecated the `pullapprove_conditions` config option and introduced the `overrides` option. This commit migrates to the new option, while also eliminating the `fallback` group with a simple override (as per recommendation from the pull approve docs). PR Close #42895 | 21 July 2021, 22:34:24 UTC |
992dc93 | Joey Perrott | 27 May 2021, 19:04:39 UTC | refactor(dev-infra): remove usages and dependency on shelljs (#42911) Remove usages of shelljs and instead use spawn/spawnSync. PR Close #42911 | 21 July 2021, 22:33:37 UTC |
d3b0d1e | Joey Perrott | 03 June 2021, 17:54:36 UTC | refactor(dev-infra): add spawnSync to child process utils, normalize naming of child-process utils (#42911) Create a `spawnSync` command for common usage, additionally update naming to use `spawn` instead of `spawnWithDebugOutput` PR Close #42911 | 21 July 2021, 22:33:37 UTC |
9d747e3 | Alex Rickabaugh | 21 July 2021, 21:53:53 UTC | release: cut the v12.2.0-next.3 release (#42916) PR Close #42916 | 21 July 2021, 21:55:49 UTC |
23d6133 | Alex Rickabaugh | 21 July 2021, 21:52:09 UTC | docs: release notes for the v12.1.3 release | 21 July 2021, 21:52:09 UTC |
e2aa765 | George Kalpakas | 20 July 2021, 09:36:26 UTC | fix(docs-infra): fix keyword color in CLI pages code blocks (#42889) Previously, names of CLI commands that also happened to be keywords were shown in black color in the code block demonstrating the command's usage. This worked fine when in light mode (where the code block background is white) but not in the recently introduced dark mode (where the code block background is dark gray). This commit fixes this by ensuring the `.kwd` token color is inherited from its parent (which has an appropriate color for the current theme). Previously, the `.kwd` token was reset to its initial value (which is `black` regardless of the theme). **Before:** ![CLI pages keyword before][1] **After:** ![cli-pages-keyword after][2] [1]: https://user-images.githubusercontent.com/8604205/126073803-af317f0c-d04f-4c3a-9a83-e92541d7dd5a.png [2]: https://user-images.githubusercontent.com/8604205/126073806-1d57e3ed-90b1-4735-ae2a-d0a39862bb95.png PR Close #42889 | 20 July 2021, 18:56:33 UTC |
70c3461 | JoostK | 17 July 2021, 20:50:03 UTC | fix(compiler-cli): use correct module import for types behind a `forwardRef` (#42887) The static interpreter assumed that a foreign function expression would have to be imported from the absolute module specifier that was used for the foreign function itself. This assumption does not hold for the `forwardRef` foreign function resolver, as that extracts the resolved expression from the function's argument, which is not behind the absolute module import of the `forwardRef` function. The prior behavior has worked for the typical usage of `forwardRef`, when it is contained within the same source file as where the static evaluation started. In that case, the resulting reference would incorrectly have an absolute module guess of `@angular/core`, but the local identifier emit strategy was capable of emitting the reference without generating an import using the absolute module guess. In the scenario where the static interpreter would first have to follow a reference to a different source that contained the `forwardRef` would the compilation fail. In that case, there is no local identifier available such that the absolute module emitter would try to locate the imported symbol from `@angular/core`. which fails as the symbol is not exported from there. This commit fixes the issue by checking whether a foreign expression occurs in the same source file as the call expression. If it does, then the absolute module specifier that was used to resolve the call expression is ignored. Fixes #42865 PR Close #42887 | 20 July 2021, 18:56:05 UTC |
ca7d4c3 | dario-piotrowicz | 15 July 2021, 20:59:57 UTC | refactor(docs-infra): migrate aio from tslint to eslint (#42820) migrate aio to eslint as tslint has been deprecated, the migration is restricted to the aio app and its e2e tests and does not include the other tools, for such reason both tslint and codelyzer have not been removed (to be done in a next PR) some minor tweaks needed to be applied to the code so that it would adhere to the new ESLinting behaviour most TSLint rules have been substituted with their ESLint equivalent, with some exceptions: * [whitespace] does not have an ESLint equivalent (suggested to be handled by prettier) * [import-spacing] does not have an ESLint equivalent (suggested to be handled by prettier) * [ban] replaced with [no-restricted-syntax] as there is no (official/included) ESLint equivalent some rules have minor different behaviours compared to their TSLint counterparts: * @typescript-eslint/naming-convention: - typescript-eslint does not enforce uppercase for const only. * @typescript-eslint/no-unused-expressions: - The TSLint optional config "allow-new" is the default ESLint behavior and will no longer be ignored. * arrow-body-style: - ESLint will throw an error if the function body is multiline yet has a one-line return on it. * eqeqeq: - Option "smart" allows for comparing two literal values, evaluating the value of typeof and null comparisons. * no-console: - Custom console methods, if they exist, will no longer be allowed. * no-invalid-this: - Functions in methods will no longer be ignored. * no-underscore-dangle: - Leading and trailing underscores (_) on identifiers will now be ignored. * prefer-arrow/prefer-arrow-functions: - ESLint does not support allowing standalone function declarations. - ESLint does not support allowing named functions defined with the function keyword. * space-before-function-paren: - Option "constructor" is not supported by ESLint. - Option "method" is not supported by ESLint. additional notes: * the current typescript version used by the aio app is 4.3.5, which is not supported by typescript-eslint (the supported versions are >=3.3.1 and <4.3.0). this causes a warning message to appear during linting, this issue should likely/hopefully disappear in the future as typescript-eslint catches up * The new "no-console" rule is not completely equivalent to what we had prior the migration, this is because TSLint's "no-console" rule let you specify the methods you did not want to allow, whilst ESLint's "no-console" lets you specify the methods that you do want to allow, so and in order not to have a very long list of methods in the ESLint rule it's been decided for the time being to simply only allow the "log", "warn" and "error" methods * 4 dependencies have been added as they have been considered necessary (see: https://github.com/angular/angular/pull/42820#discussion_r669978232) extra: * the migration has been performed by following: https://github.com/angular-eslint/angular-eslint#migrating-an-angular-cli-project-from-codelyzer-and-tslin * more on typescript-eslint at: https://github.com/typescript-eslint/typescript-eslint PR Close #42820 | 20 July 2021, 18:55:28 UTC |
282e86a | Joey Perrott | 16 July 2021, 00:06:15 UTC | fix(dev-infra): use the version from package.json rather than tags (#42872) Use the version value from the primary package.json file rather than checking the branch for the latest semver tag. This allows for us to explictly create changelogs from the previous version to the new version. PR Close #42872 | 20 July 2021, 18:30:33 UTC |
445fee4 | Joey Perrott | 20 July 2021, 00:04:38 UTC | feat(dev-infra): update package version verification to allow for experimental version (#42898) The angular-cli repo publishes experimental versioned packages in addition to standard versioned packages. Both experimental and standard verions, based on the expected new version provided are treated as valid and correct. PR Close #42898 | 20 July 2021, 18:30:00 UTC |
52dc65d | dario-piotrowicz | 18 July 2021, 09:32:26 UTC | build(docs-infra): improve @usageNotes message (#42888) improve the @usageNotes message by adding the word "is" (outcome: "Further information is available in...", compared to "Further information available in...") PR Close #42888 | 20 July 2021, 00:37:56 UTC |
307dac6 | JoostK | 17 July 2021, 19:26:12 UTC | fix(core): use correct injector when resolving DI tokens from within a directive provider factory (#42886) When a directive provides a DI token using a factory function and interacting with a standalone injector from within that factory, the standalone injector should not have access to either the directive injector nor the NgModule injector; only the standalone injector should be used. This commit ensures that a standalone injector never reaches into the directive-level injection context while resolving DI tokens. Fixes #42651 PR Close #42886 | 20 July 2021, 00:36:29 UTC |
722eb5d | George Kalpakas | 17 July 2021, 16:30:02 UTC | fix(docs-infra): prevent main content from overlapping with ToC (#42884) Previously, if there was more content than what would horizontally fit in the main content area, it would overflow to the right and overlap with the Table of Contents (ToC). This was accidentally introduced in #42787. This commit fixes it by ensuring that the main content area will not overlap with ToC and the necessary space for the ToC will be reserved using `margin` (instead of `padding`, which contributes to the element's size). Fixes #42867 PR Close #42884 | 20 July 2021, 00:35:35 UTC |
e7c7707 | George Kalpakas | 17 July 2021, 11:41:45 UTC | fix(docs-infra): correctly handle reported errors (#42883) Error-handling in AIO happens mainly in two places: 1. For errors happening inside the app we have a custom `ErrorHandler` implementation, `ReportingErrorHandler`. `ReportingErrorHandler` passes errors to the default `ErrorHandler` (for them to be logged to the console) and also forwards them to `window.onerror()`. 2. Errors happening outside the app and errors forwarded by `ReportingErrorHandler` are handled by `window.onerror()`, which in turn reports them to Google analytics. Previously, we were making some assumptions (which turned out to be incorrect based on the info captured in Google analytics - see #28106): - `ReportingErrorHandler` assumed that the errors passed to its `handleError()` method would be either strings or `Error` instances. _Apparently, other values (such as `null` or `undefined`) may also be passed._ - `window.onerror()` assumed that if an `Error` instance was passed in, it would always have a stacktrace (i.e. its `stack` property would be defined). _This is not necessarily true, although it is not clear (based on the logs) whether reported errors of this type are caused by `Error` instance with no stacktrace or by non-string error objects which are incorrectly treated as `Error` instances. This commit ensures that all types of error arguments can be handled correctly, including `Error` instances with no stacktrace and other types of objects or primitives. NOTE: PR #42881 is related as it fixes handling `null` and `undefined` arguments in the default `ErrorHandler`. Fixes #28106 PR Close #42883 | 20 July 2021, 00:35:02 UTC |
7eddd12 | Paul Gschwendtner | 16 July 2021, 18:18:18 UTC | feat(dev-infra): add option to setup global types in API golden test (#42876) Previously we disabled automatic type-resolution for the API extractor because in non-sandbox environments this resulted in different API reports. There are cases where global types are still needed for analysis of an entry-point. To support this, we add a new property called `types` which allows for explicit type targets being specified. Note that we do not want to determine types from the `data` runfiles because API extractor itself also brings in types which should not always be part of the API report analysis. PR Close #42876 | 20 July 2021, 00:33:19 UTC |
7271ad1 | Paul Gschwendtner | 16 July 2021, 17:23:09 UTC | ci: remove RBE workaround from `components-repo-unit-tests` job (#42875) In the past when we had issues with our RBE instance, we wanted to get CI green as soon as possible, and couldn't wait on the components repo to land their RBE instance fix. We manually fixed the RBE instance name using a CI step using `sed`. This is no longer needed if we update to the most recent state of the components repository. PR Close #42875 | 20 July 2021, 00:32:44 UTC |
30165f9 | Paul Gschwendtner | 15 July 2021, 19:23:13 UTC | build: remove unnecessary husky gitignore file (#42870) We recently updated to Husky v7 through Renovate, but as of Husky v7, a `.gitignore` file is no longer needed. This commit removes the file. PR Close #42870 | 20 July 2021, 00:31:55 UTC |
4286b08 | Paul Gschwendtner | 15 July 2021, 18:39:24 UTC | ci: exempt bazel scope from merge tool target label checks (#42869) Currently, changes with the `bazel` scope are guarded by the merge tool target label checks. i.e. feature commits with the `bazel` scope cannot land in the patch branch. This is expected for all public packages, but given the `bazel` package being used internal-only, it should be possible to land these in a patch branch. Especially since we want tooling to be in sync between version branches as much as possible. PR Close #42869 | 20 July 2021, 00:29:01 UTC |