Skip to content

Update to angular 7.0.4 and latest rules_nodejs #14181

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Update to angular 7.0.4 and latest rules_nodejs #14181

wants to merge 1 commit into from

Conversation

gregmagolan
Copy link
Contributor

@gregmagolan gregmagolan commented Nov 16, 2018

A few issues in the downstream Bazel build that this fixes.

  • rules_sass was on an older version that was using load paths that are no longer valid in the newest version. Update to latest version and updated load paths.

  • the version of @angular/bazel in package.json (^7.0.3 but pinned to 7.0.3 in the lock file) causes a version skew issue downstream in angular-bazel-example when updating to angular 7.0.4. For the time being, this version needs to be pinned to a specific version that matches the angular http_archive version in WORKSPACE. the exact version match requirement will be relaxed to a range in the future and with Ivy this will no longer be an issue since the downstream Bazel build will use the material bundles

I added a RELEASING.md file to remind the caretaker to match up these versions when releasing

Other updates:

  • latest rules_nodejs supports yarn 1.12.1 which is preferred as it support the integrity lock field which is removed from the lock file when yarn_install runs with a pre-1.10 version of yarn

@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Nov 16, 2018
@gregmagolan
Copy link
Contributor Author

//cc @alexeagle

@gregmagolan gregmagolan changed the title Update to angular 7.0.4, rules_typescript 0.21.0 and latest rules_nodejs Update to angular 7.0.4 and latest rules_nodejs Nov 16, 2018
@devversion
Copy link
Member

devversion commented Nov 16, 2018

The other changes are cool, really like the .md document. Also we should probably coordinate better on changes related to Bazel. There are already various PRs, but those are just awaiting merge and blocked on other stuff.

in `package.json` and `tools/npm/package.json` must match the version of the
`@angular` `http_archive` in `WORKSPACE`. For this reason, `@angular/bazel`
should be pinned to a specific version in both `package.json` files. If updating
the version of the angular http_archive, ensure sure that all 3 versions line up.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to just be an automatic check in our release script, otherwise it will 100% get broken

Copy link
Member

@devversion devversion Nov 16, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should chat about that tools/npm/package.json file. Based on some testing it's just needed because the Angular Bazel rules fall back to @npm for the compiler binaries etc.

RxJS apparently uses their own workspace now, and the comment about why we need this (just for rxjs) is no longer up-to date I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's still needed for rxjs since it uses ts_library in there which depends on the @npm workspace. An rxjs release with a named UMD bundle is in the works (ReactiveX/rxjs#4309). When that lands and makes it into a release then the build can be updated to no longer build RXJS from source.

@@ -89,7 +90,7 @@ load("@build_bazel_rules_typescript//:defs.bzl", "ts_setup_workspace")
ts_setup_workspace()

# Setup the Sass rule repositories.
load("@io_bazel_rules_sass//:defs.bzl", "sass_repositories")
load("@io_bazel_rules_sass//sass:sass_repositories.bzl", "sass_repositories")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK this should stay :defs. @devversion?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's the new public API.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You guys are right. It's the downstream repo that is out of date. Thanks.

@gregmagolan
Copy link
Contributor Author

Looks like everything in here is covered by the other PRs.

Note: (#14173) rules_nodejs 0.16.1 won't work with material but the latest commit will (symlink issue fixed by bazel-contrib/rules_nodejs#422). you can either update to that commit or Alex should tag 0.16.2 shortly. With the rules_nodejs update, the update to yarn 1.10+ is possible as well.

I'll create an issue for the release script update.

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes PR author has agreed to Google's Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants