Go to file
Alex Rickabaugh 4cf197998a fix(ivy): track changes across failed builds (#33971)
Previously, our incremental build system kept track of the changes between
the current compilation and the previous one, and used its knowledge of
inter-file dependencies to evaluate the impact of each change and emit the
right set of output files.

However, a problem arose if the compiler was not able to extract a
dependency graph successfully. This typically happens if the input program
contains errors. In this case the Angular analysis part of compilation is
never executed.

If a file changed in one of these failed builds, in the next build it
appears unchanged. This means that the compiler "forgets" to emit it!

To fix this problem, the compiler needs to know the set of changes made
_since the last successful build_, not simply since the last invocation.

This commit changes the incremental state system to much more explicitly
pass information from the previous to the next compilation, and in the
process to keep track of changes across multiple failed builds, until the
program can be analyzed successfully and the results of those changes
incorporated into the emit plan.

Fixes #32214

PR Close #33971
2019-11-22 17:39:35 -05:00
.circleci ci: use more descriptive names for published build artifacts (#33957) 2019-11-22 14:05:52 -05:00
.devcontainer docs: add info on setting up VSCode remote development using docker containers (#33790) 2019-11-13 13:33:21 -08:00
.github ci: tighten code owners for size tracking (#33969) 2019-11-22 16:51:41 -05:00
.vscode style: increase timeout to give blaze sufficient time to build (#33678) 2019-11-08 10:55:01 -08:00
aio docs: fix typo in the aio/README.md (#33993) 2019-11-22 17:37:15 -05:00
docs build: update setup-rbe.sh script and documentation to remove http-remote-cache config (#33907) 2019-11-21 10:45:57 -08:00
integration fix(bazel): ng_module should not emit shim files under bazel and Ivy (#33765) 2019-11-22 16:52:08 -05:00
modules fix(bazel): ng_module should not emit shim files under bazel and Ivy (#33765) 2019-11-22 16:52:08 -05:00
packages fix(ivy): track changes across failed builds (#33971) 2019-11-22 17:39:35 -05:00
scripts ci: tighten size threshold to 1% or 500 bytes (#33969) 2019-11-22 16:51:41 -05:00
third_party build: update to @bazel/bazel 1.0.0 (#33476) 2019-10-29 16:22:41 -07:00
tools build: add ngJitMode to ng_rollup_bundle terser config (#33865) 2019-11-20 10:29:46 -08:00
.bazelignore build: add integration/platform-server/node_modules to .bazelignore (#33765) 2019-11-22 16:52:08 -05:00
.bazelrc build: update setup-rbe.sh script and documentation to remove http-remote-cache config (#33907) 2019-11-21 10:45:57 -08:00
.clang-format
.editorconfig
.gitattributes test: fix ts api guardian and public guard tests on windows (#30105) 2019-04-26 16:32:22 -07:00
.gitignore docs: add info on setting up VSCode remote development using docker containers (#33790) 2019-11-13 13:33:21 -08:00
.mailmap
.nvmrc build: update .nvmrc to correct node version (#33636) 2019-11-06 21:23:07 +00:00
BUILD.bazel build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
CHANGELOG.md docs: release notes for the v9.0.0-rc.3 release 2019-11-20 14:28:48 -08:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md docs: add missing parenthesis (#31041) 2019-10-07 11:02:33 -07:00
LICENSE build: bump year (#27880) 2019-01-11 11:15:59 -08:00
README.md docs: fix typo of Typescript to TypeScript (#32153) 2019-08-15 12:44:41 -07:00
WORKSPACE build: bump check version requirements for bazel and rules_nodejs (#33966) 2019-11-21 19:49:02 -05:00
browser-providers.conf.js ci: re-enable chrome mobile tests on android (#32447) 2019-09-03 11:58:30 -07:00
gulpfile.js build: move cldr dependency to npm (#33634) 2019-11-07 17:49:19 +00:00
karma-js.conf.js build: reference zone.js from source directly instead of npm. (#33046) 2019-11-06 00:48:34 +00:00
package.json fix(bazel): update to tsickle 0.37.1 to fix peerDep warnings (#33788) 2019-11-22 13:13:01 -05:00
protractor-perf.conf.js fixup! test(ivy): make the test run with benchpress (#30449) 2019-05-16 20:04:04 -07:00
renovate.json ci: update packageFiles to be renovated (#29071) 2019-03-05 09:43:23 -08:00
shims_for_IE.js
test-events.js refactor: rename unpatched event flag in Zone from `BLACK_LISTED_EVENTS` to `UNPATCHED_EVENTS` (#29617) 2019-10-04 08:44:58 -07:00
test-main.js feat(ivy): i18n - implement compile-time inlining (#32881) 2019-10-09 13:19:38 -07:00
tslint.json style: enforce disallowance of String, Number and Boolean constructors (#33210) 2019-10-17 14:12:00 -04:00
yarn.lock fix(bazel): update to tsickle 0.37.1 to fix peerDep warnings (#33788) 2019-11-22 13:13:01 -05:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

README.md

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.