-
Notifications
You must be signed in to change notification settings - Fork 11.9k
Ivy workspaces #15320
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
Ivy workspaces #15320
Conversation
|
When FW flips the |
filipesilva
left a comment
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.
Just some minor comments, otherwise LGTM (pending CI passing after FW has flipped the switch).
| }, | ||
| configurations: { | ||
| production: { | ||
| tsConfig: `${projectRoot}/tsconfig.lib.prod.json`, |
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.
We also need a migration for this, right?
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.
There is already a separate PR for that, I made it separate since it can go in now in master. #15272
I also, created some utils, which would be needed for another schematic
| await expectFileToExist(join(process.cwd(), 'test-project')); | ||
| process.chdir('./test-project'); | ||
|
|
||
| if (!argv['ivy']) { |
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.
At some point we should flip this flag, so that we have to opt-in VE tests instead of opt-in Ivy ones.
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.
Good idea. I will do it later today or tmr.
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.
As discussed offline, let’s tackle this in a separate PR were we enable the full test suit for Ivy and remove —ivy and add —ve so that all tests will run in ivy mode by default.
| "angularCompilerOptions": { | ||
| "annotateForClosureCompiler": true, | ||
| "skipTemplateCodegen": true, | ||
| "strictMetadataEmit": true, |
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.
Note: the below options are not needed by ngtsc compiler, but we will leave them to make opt-out easier.
skipTemplateCodegen: true,
strictMetadataEmit: true,
enableResourceInlining: true,
Since `NGCC` is non incremental and in library projects we have the original TS sources we don't need to build a library using the `VE` and transform it using `NGCC`. Instead we can build the library using `NGTSC` (Ivy) directly as this enables faster incremental compilations and a better development experience. Libraries now have a `production` configuration, which enabled `VE` compilations. As it is not recommended to publish NGTSC (Ivy) built libraries to NPM repositories, since Ivy libraries are not backwards compatible with the legacy View Engine.
With this change we remove the enableIvy option as now we only support generating Ivy application. Users who want to create a VE applications should follow the opt-out guide
|
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. |
feat(@schematics/angular): introduce Ivy libraries for development
Since
NGCCis non incremental and in library projects we have the original TS sourceswe don't need to build a library using the
VEand transform it usingNGCC. Instead we can build the library usingNGTSC(Ivy) directlyas this enables faster incremental compilations and a better development experience.
Libraries now have a
productionconfiguration, which enabledVEcompilations. As it is not recommended to publish NGTSC (Ivy)built libraries to NPM repositories, since Ivy libraries are not backwards compatible with the legacy View Engine.
feat(@schematics/angular): remove enableIvy option
With this change we remove the enableIvy option as now we only support generating Ivy application. Users who want to create a VE applications should follow the opt-out guide