Go to file
George Kalpakas 3f68377c3d ci: check versions of non-local integration project dependencies (#33968)
In order to keep integration tests on CI as determinitstic as possible,
we need to ensure that the same dependencies (including transitive ones)
are installed each time. One way to ensure that is using a lockfile
(such as `yarn.lock`) to pin the dependencies to exact versions. This
works as long as the lockfile itself is in-sync with the corresponding
`package.json`, which specifies the dependencies.

Ideally, we would run `yarn install` with the `--frozen-lockfile` option
to verify that the lockfile is in-sync with `package.json`, but we
cannot do that for integration projects, because we want to be able to
install the locally built Angular packages). Therefore, we must manually
esnure that the integration project lockfiles remain in-sync, which is
error-prone.

This commit introduces a helper script that performs some checks on each
project's (non-local) dependencies:
- Ensure that exact versions (not version ranges) are specified in
  `package.json`. This reduces the probability of installing a breaking
  version of a direct or transitive dependency, in case of an
  out-of-sync lockfile.
- Ensure that the lockfile is in-sync with `package.json` wrt these
  dependencies.

While these checks are not full-proof, they provide yet another line of
defense against indeterminism.

PR Close #33968
2019-11-26 16:08:33 -08: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: fix code ownership for size tracking (#34044) 2019-11-26 16:35:27 -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 injectable migration guide to reflect latest schematic changes (#33960) 2019-11-26 16:37:48 -05:00
docs 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
integration ci: check versions of non-local integration project dependencies (#33968) 2019-11-26 16:08:33 -08: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(language-service): determine index types accessed using dot notation (#33884) 2019-11-26 15:57:07 -08:00
scripts build: update scripting and tooling to rely on define=angular_ivy_enabled instream of define=compile (#33983) 2019-11-26 16:38:40 -05:00
third_party build: update to @bazel/bazel 1.0.0 (#33476) 2019-10-29 16:22:41 -07:00
tools build: update scripting and tooling to rely on define=angular_ivy_enabled instream of define=compile (#33983) 2019-11-26 16:38:40 -05:00
.bazelignore build: add integration/platform-server/node_modules to .bazelignore (#33765) 2019-11-22 16:52:08 -05:00
.bazelrc build: remove remaining internal references to define=compile flag (#33983) 2019-11-26 16:38:40 -05: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
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 ci: check versions of non-local integration project dependencies (#33968) 2019-11-26 16:08:33 -08: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
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 ci: check versions of non-local integration project dependencies (#33968) 2019-11-26 16:08:33 -08:00
yarn.lock.readme.md

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.