-
Notifications
You must be signed in to change notification settings - Fork 25.3k
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
Make Ivy the default in Angular! #32219
Conversation
efd1c0a
to
b3ca554
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm but I wish you left a note why the tsc passthrough option was removed - I suspect that it's because we implemented it initially to make Ivy JIT testing easier but then realized that we don't need it and we should just use tsc proper instead. Can you please clarify? thanks!
@IgorMinar I've been focused on getting the tests in the repo fixed - I still need to go back and add proper commit messages. Doing that now! |
This option makes ngc behave as tsc, and was originally implemented before ngtsc existed. It was designed so we could build JIT-only versions of Angular packages to begin testing Ivy early, and is not used at all in our current setup.
This commit switches the default value of the enableIvy flag to true. Applications that run ngc will now by default receive an Ivy build! This does not affect the way Bazel builds in the Angular repo work, since those are still switched based on the value of the --define=compile flag. Additionally, projects using @angular/bazel still use View Engine builds by default. Since most of the Angular repo tests are still written against View Engine (particularly because we still publish VE packages to NPM), this switch also requires lots of `enableIvy: false` flags in tsconfigs throughout the repo. Congrats to the team for reaching this milestone!
Caretaker: I restarted a flaky CI test ( |
FYI, Ivy and VE presubmits look normal. |
This commit switches the default value of the enableIvy flag to true. Applications that run ngc will now by default receive an Ivy build! This does not affect the way Bazel builds in the Angular repo work, since those are still switched based on the value of the --define=compile flag. Additionally, projects using @angular/bazel still use View Engine builds by default. Since most of the Angular repo tests are still written against View Engine (particularly because we still publish VE packages to NPM), this switch also requires lots of `enableIvy: false` flags in tsconfigs throughout the repo. Congrats to the team for reaching this milestone! PR Close #32219
This option makes ngc behave as tsc, and was originally implemented before ngtsc existed. It was designed so we could build JIT-only versions of Angular packages to begin testing Ivy early, and is not used at all in our current setup. PR Close angular#32219
This commit switches the default value of the enableIvy flag to true. Applications that run ngc will now by default receive an Ivy build! This does not affect the way Bazel builds in the Angular repo work, since those are still switched based on the value of the --define=compile flag. Additionally, projects using @angular/bazel still use View Engine builds by default. Since most of the Angular repo tests are still written against View Engine (particularly because we still publish VE packages to NPM), this switch also requires lots of `enableIvy: false` flags in tsconfigs throughout the repo. Congrats to the team for reaching this milestone! PR Close angular#32219
const fs = require('fs'); | ||
const configPath = 'demo/tsconfig.json'; | ||
const config = { | ||
...JSON.parse(fs.readFileSync(configPath, 'utf8')), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
drive-by nit: I learned yesterday that there's no need to string-decode the buffer first, JSON.parse handles buffers just fine
This option makes ngc behave as tsc, and was originally implemented before ngtsc existed. It was designed so we could build JIT-only versions of Angular packages to begin testing Ivy early, and is not used at all in our current setup. PR Close angular#32219
This commit switches the default value of the enableIvy flag to true. Applications that run ngc will now by default receive an Ivy build! This does not affect the way Bazel builds in the Angular repo work, since those are still switched based on the value of the --define=compile flag. Additionally, projects using @angular/bazel still use View Engine builds by default. Since most of the Angular repo tests are still written against View Engine (particularly because we still publish VE packages to NPM), this switch also requires lots of `enableIvy: false` flags in tsconfigs throughout the repo. Congrats to the team for reaching this milestone! PR Close angular#32219
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
🍃