Go to file
Kara Erickson a20b2f72f2 fix(ivy): process creation mode deeply before running update mode (#27744)
Prior to this commit, we had two different modes for change detection
execution for Ivy, depending on whether you called `bootstrap()` or
`renderComponent()`. In the former case, we would complete creation
mode for all components in the tree before beginning update mode for
any component. In the latter case, we would run creation mode and
update mode together for each component individually.

Maintaining code to support these two different execution orders was
unnecessarily complex, so this commit aligns the two bootstrapping
mechanisms to execute in the same order. Now creation mode always
runs for all components before update mode begins.

This change also simplifies our rendering logic so that we use
`LView` flags as the source of truth for rendering mode instead of
`rf` function arguments. This fixed some related bugs (e.g. calling
`ViewRef.detectChanges` synchronously after the view's creation
would create view nodes twice, view queries would execute twice, etc).

PR Close #27744
2018-12-19 15:10:16 -05:00
.buildkite ci: test ts-api-guardian on windows (#27205) 2018-12-06 09:38:59 -08:00
.circleci build: update to Bazel 0.20 (#27394) 2018-12-07 14:29:03 -08:00
.github ci: exclude unnedeed files and directories from angular-robot g3sync check (#27653) 2018-12-13 10:58:43 -08:00
aio build(docs-infra): turn on disableTypeScriptVersionCheck in angularCompilerOptions (#27536) 2018-12-18 13:20:02 -08:00
docs docs(bazel): Update VSCode config (#27733) 2018-12-18 10:14:01 -08:00
integration feat: add support for typescript 3.2 (#27536) 2018-12-18 13:20:01 -08:00
modules build(bazel): upgrade benchmarks to protractor_web_test_suite for CI without local chrome (#26908) 2018-11-07 16:47:39 -08:00
packages fix(ivy): process creation mode deeply before running update mode (#27744) 2018-12-19 15:10:16 -05:00
scripts build: re-enable saucelabs non-verbose logging (#27657) 2018-12-14 10:19:54 -08:00
third_party/github.com/bazelbuild/bazel-toolchains/bazelrc build: update to Bazel 0.20 (#27394) 2018-12-07 14:29:03 -08:00
tools feat(router): add predicate function mode for runGuardsAndResolvers (#27682) 2018-12-18 13:55:06 -08:00
.bazelignore build: add aio/tools/examples/shared/node_modules to .bazelignore (#27278) 2018-11-27 10:30:58 -08:00
.bazelrc build: update to Bazel 0.20 (#27394) 2018-12-07 14:29:03 -08:00
.bowerrc chore(dgeni): clean up legacy typings bundle creation 2015-10-29 21:19:59 +00:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig build: use https link to editorconfig.org in .editorconfig (#27664) 2018-12-18 09:30:09 -08:00
.gitattributes chore: force lf EOL for ts files (#11143) 2016-08-29 12:41:58 -07:00
.gitignore build: introduce remote bazel caching (#27358) 2018-12-06 11:25:03 -08:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.nvmrc build: update .nvmrc file to correct node version (#25992) 2018-09-18 13:11:58 -07:00
.pullapprove.yml ci: remove packages/bazel from compiler-cli group (#27641) 2018-12-13 10:58:58 -08:00
.travis.yml build: disable failing optional travis jobs (#27657) 2018-12-14 10:19:54 -08:00
BUILD.bazel build: load angular.js minified output in upgrade tests (#27711) 2018-12-18 09:29:27 -08:00
CHANGELOG.md release: cut the v7.2.0-rc.0 release 2018-12-18 16:00:25 -08:00
CODE_OF_CONDUCT.md docs: fix community tab in GitHub by copying CoC 2018-02-27 19:02:30 -08:00
CONTRIBUTING.md docs: update SAVED_REPLIES and CONTRIBUTING with new issue templates (#27608) 2018-12-11 16:43:57 -08:00
LICENSE docs(common): update copyright years (#21232) 2018-01-04 17:45:36 -05:00
README.md build: run CI (#26488) 2018-10-19 20:59:29 -07:00
WORKSPACE build: update to Bazel 0.20 (#27394) 2018-12-07 14:29:03 -08:00
bower.json docs: branding fixes (#14132) 2017-01-27 15:03:11 -06:00
browser-providers.conf.js feat(elements): enable Shadow DOM v1 and slots (#24861) 2018-08-30 21:33:14 -07:00
build.sh feat(ivy): implement TestBed (#25369) 2018-08-14 11:58:47 -07:00
gulpfile.js build: remove obsolete gulp build task (#27386) 2018-12-05 20:55:32 -08:00
index.bzl style: format .bzl files with buildifier (#23544) 2018-08-08 13:12:07 -07:00
karma-js.conf.js build: load angular.js minified output in upgrade tests (#27711) 2018-12-18 09:29:27 -08:00
package.json release: cut the v7.2.0-rc.0 release 2018-12-18 16:00:25 -08:00
protractor-e2e.conf.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
protractor-examples-e2e.conf.js refactor: format and lint code 2016-12-12 11:30:25 -08:00
protractor-perf.conf.js ci: configure chrome options for protractor (#26735) 2018-10-26 14:48:05 -04:00
shims_for_IE.js Revert "refactor: add license header to JS files & format files (#12035)" 2016-10-04 14:06:41 -07:00
test-events.js fix(platform-browser): run BLACK_LISTED_EVENTS outside of ngZone (#18993) 2017-09-05 15:33:22 -05:00
test-main.js refactor(core): remove withBody from public testing API (#25171) 2018-07-31 15:09:32 -07:00
test.sh feat: typescript 2.9 support (#24652) 2018-07-03 13:32:06 -07:00
tslint.json style: tslint enforces no debugger statements left behind (#25532) 2018-08-16 16:00:22 -07:00
yarn.lock feat: add support for typescript 3.2 (#27536) 2018-12-18 13:20:01 -08:00
yarn.lock.readme.md docs: replace npm with yarn in lockfile readme (#25309) 2018-08-06 13:38:13 -07:00

README.md

Build Status CircleCI BrowserStack Status Join the chat at https://gitter.im/angular/angular npm version

Angular

Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.

Quickstart

Get started in 5 minutes.

Changelog

Learn about the latest improvements.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.