Go to file
George Kalpakas 93ffc67bfb fix(ngcc): update `package.json` deterministically (#34870)
Ngcc adds properties to the `package.json` files of the entry-points it
processes to mark them as processed for a format and point to the
created Ivy entry-points (in case of `--create-ivy-entry-points`). When
running ngcc in parallel mode (which is the default for the standalone
ngcc command), multiple formats can be processed simultaneously for the
same entry-point and the order of completion is not deterministic.

Previously, ngcc would append new properties at the end of the target
object in `package.json` as soon as the format processing was completed.
As a result, the order of properties in the resulting `package.json`
(when processing multiple formats for an entry-point in parallel) was
not deterministic. For tools that use file hashes for caching purposes
(such as Bazel), this lead to a high probability of cache misses.

This commit fixes the problem by ensuring that the position of
properties added to `package.json` files is deterministic and
independent of the order in which each format is processed.

Jira issue: [FW-1801](https://angular-team.atlassian.net/browse/FW-1801)

Fixes #34635

PR Close #34870
2020-01-23 10:16:35 -08:00
.circleci ci: move setup of bazel configurations into the env init scripts (#34834) 2020-01-22 14:37:02 -05:00
.devcontainer build: update the recommended `Dockerfile` for VSCode remote development (#34697) 2020-01-09 13:31:14 -08:00
.github fix(docs-infra): convert hard-coded `comparing-observables` examples into a proper mini-app (#34327) 2020-01-21 13:14:46 -05:00
.vscode build: migrate references and scripts that set to build with ivy via compile=aot to use config=ivy (#33983) 2019-11-26 16:38:40 -05:00
aio docs: update payload size limits for angular.io application (#34913) 2020-01-22 15:01:01 -08:00
docs docs: edit golden file error description (#34871) 2020-01-21 14:25:38 -05:00
integration build: upgrade to bazel 2.0.0 (#34877) 2020-01-23 10:05:05 -08:00
modules build: remove @angular/http from modules (#34892) 2020-01-22 13:39:16 -08:00
packages fix(ngcc): update `package.json` deterministically (#34870) 2020-01-23 10:16:35 -08:00
scripts build: package-build & release scripts should handle new pkg_npm naming (#34736) 2020-01-15 14:58:07 -05:00
third_party build: update to yarn@1.21.1 (#34384) 2019-12-16 07:39:58 -08:00
tools revert: refactor(ivy): remove styleSanitizer instruction in favor of an inline param (#34480) (#34910) 2020-01-22 15:59:33 -05:00
.bazelignore build: add integration/platform-server/node_modules to .bazelignore (#33765) 2019-11-22 16:52:08 -05:00
.bazelrc build: add --stamp flag to the release config (#34890) 2020-01-22 12:34:12 -05: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 test: fix ts api guardian and public guard tests on windows (#30105) 2019-04-26 16:32:22 -07:00
.gitignore feat: add direction property to locale files (#33556) 2019-12-03 15:58:09 -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 to correct node version (#33636) 2019-11-06 21:23:07 +00:00
BUILD.bazel ci: fix saucelabs bazel tests terminating after 5min (#34707) 2020-01-09 13:30:39 -08:00
CHANGELOG.md release: cut the v9.0.0-rc.10 release 2020-01-22 11:23:21 -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: document golden file requirement (#33900) 2020-01-07 10:58:53 -08:00
LICENSE build: bump year (#34651) 2020-01-13 07:21:43 -08:00
README.md docs: fix typo of Typescript to TypeScript (#32153) 2019-08-15 12:44:41 -07:00
WORKSPACE build: update to rules_nodejs 1.1.0 (#34736) 2020-01-15 14:58:07 -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: remove obsolete build related tools and helper scripts (#34058) 2019-12-02 10:52:21 -08:00
karma-js.conf.js build: remove modules/angular1_router (#34551) 2020-01-07 10:42:30 -08:00
package.json build: upgrade to bazel 2.0.0 (#34877) 2020-01-23 10:05:05 -08:00
protractor-perf.conf.js fixup! test(ivy): make the test run with benchpress (#30449) 2019-05-16 20:04:04 -07: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 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 object constructor (#33211) 2019-12-03 10:08:25 -08:00
yarn.lock build: upgrade to bazel 2.0.0 (#34877) 2020-01-23 10:05:05 -08: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.