migrates `@nx/angular` from `chalk` to `picocolors`
Part of https://github.com/es-tooling/ecosystem-cleanup/issues/117
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->
<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->
<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->
## Current Behavior
<!-- This is the behavior we have today -->
## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->
Fixes #
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->
<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->
<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->
## Current Behavior
<!-- This is the behavior we have today -->
Remotes that are served for a host are usually served from a single file
server running on a single port.
We perform some mapping logic during the build of the host application
to update the locations the remotes can be found at to point to the
single file server.
This works, but it's also wrong, as it breaks the flow that users
expect.
It also breaks dynamic remotes.
## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Continue to serve the remotes from a single file server, as this helps
reduce the amount of resources used on developers machines.
Use express to create proxy servers that will proxy requests from the
original remote location to the single file server.
This allows applications to continue to work without us having to
interfere and map any remote locations.
It also solves the issue with dynamic remotes.
## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->
Fixes#26318
- feat(module-federation): use @module-federation/enhanced for
withModuleFederation
- feat(module-federation): expose API for users to override module
federation plugin options
- fix(module-federation): angular mf ssr projects should not create
vendor chunks
- feat(module-federation): add nx-runtime-library-control-plugin
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->
<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->
<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->
## Current Behavior
<!-- This is the behavior we have today -->
A common occurrence when working with NX Module Federation is that a
shared library may get resolved from a static remote.
Any changes to the shared lib are therefore not reflected in the dev
server.
## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Add the `nx-runtime-library-control-plugin` to ensure that shared
libraries are shared from a remote that is served via
webpack-dev-server.
## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->
Fixes#11615
<!-- Please make sure you have read the submission guidelines before
posting an PR -->
<!--
https://github.com/nrwl/nx/blob/master/CONTRIBUTING.md#-submitting-a-pr
-->
<!-- Please make sure that your commit message follows our format -->
<!-- Example: `fix(nx): must begin with lowercase` -->
<!-- If this is a particularly complex change or feature addition, you
can request a dedicated Nx release for this pull request branch. Mention
someone from the Nx team or the `@nrwl/nx-pipelines-reviewers` and they
will confirm if the PR warrants its own release for testing purposes,
and generate it for you if appropriate. -->
## Current Behavior
<!-- This is the behavior we have today -->
We currently use the `ModuleFederationPlugin` from `webpack` itself.
This doesn't receive the same attention as the new
`@module-federation/enhanced` package, which is where all new work by
Zack Jackson and Bytedance is being conducted.
## Expected Behavior
<!-- This is the behavior we should expect with the changes in this PR
-->
Our `withModuleFederation` utils should use the
`@module-federation/enhanced` package.
## Related Issue(s)
<!-- Please link the issue being fixed so it gets closed when this is
merged. -->
#26322
Fixes #
* feat(testing): add generator to aid in the migration to cypress 10
cypress 10 introduces a new configuration format and new layout that requires update settings and
files for e2e projects
* feat(testing): cypress component tests for react/next
initial work for cypress component tests for react and next
* feat(testing): add support for v10 e2e cypress projects
create the correct files for cypress projects >v10 and reorganize tests based on version to allow
easier parsing of tests
* feat(testing): add utils for modifying cypress v10 config
provide ts transformers to take in an existing cypress config and update/add properties within the
given configuration
* fix(testing): fix tests affected by the cypress v10 changes
update tests to assert the correct files/folders/file contents due to the cypress changes in v10
* cleanup(testing): move cypress component testing plugins into the respective packages
move the plugins into out of cypress plugins into the specific vertical plugin to prevent issues
with circular refs
* cleanup(testing): bump cypress version
bump to latest cypress v10 release
* docs(testing): update docs for cypress 10
update cypress docs to include info about component testing and migration to cypress v10
* fix(repo): revert cypress version bump
keep v9 of cypress installed for nx repo until v10 release
* fix(testing): update cypress gen tsconfig and infer targets with converter
* fix(testing): make sure tests use the cypress v10 (for the intermediate)
* fix(testing): update target name after feedback
* fix(testing): support multiple target w/custom configs for cypress v10 migration
* fix(testing): refactor cy component tests into seperate verticals
* feat(testing): create storybook cypress preset
* fix(testing): clean up cy v10 migration
* fix(testing): don't branch for cypress executor testingType
* fix(testing): move cy comp test generator to next
* fix(testing): bump cypress deps
* fix(testing): clean up cy component testing generators
* fix(testing): update cy component testing docs
* fix(testign): dep check. runtime plugin pulls from @nrwl/react
* fix(testing): move e2e into verticals
* fix(testing): address PR feedback
* fix(testing): clean up unit tests
* feat(angular): support migrating angular cli workspaces using cypress v10
* chore(testing): update e2e tests
* fix(testing): address pr feedback
* chore(testing): remove cypress component testing for next.js
* fix(testing): address pr feedback
Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
* chore(angular): support angular 13
Support Angular 13
chore(angular): support ng 13 next 11
chore(angular): upgrade tslib dep
chore(angular): update package and ng-packagr-lite executors to align with ng-packagr v13
chore(angular): update test snapshots with ts version
fix(angular): buildable lib tsconfig transform test
* chore(angular): sync ng-packagr changes to the package and ng-packagr-lite executors
* chore(angular): add migrations
* chore(angular): rxjs7
* feat(angular): check rxjs version to install
* feat(angular): update jest resolver to resolve esm
* chore(angular): fix version
* chore(angular): support jest-preset-angular
* fix(angular): tests
* fix(angular): fix e2e tests and add .angular to gitignore
* fix(angular): fix jest transformers ignore pattern
* fix(angular): fix node test
* fix(angular): fix workspace test
* fix(angular): import marble utils from jasmine-marbles instead of @nrwl/angular/testing
* feat(angular): update ngrx to 13.0.0-beta.;0
* fix(angular): temporarily skip test with pnpm
* fix(angular): bump jest-preset-angular to fix jest performance issues
* fix(angular): webpack-browser and server schema changes
Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
Co-authored-by: Jason Jean <jasonjean1993@gmail.com>
Add a host option to MFE generator to allow a remote to specify a host that it should be consumed
by.
Use this value to update the host application's webpack.config,js
* feat(angular): allow custom webpack config support for webpack-browser builds
Allow building with a custom webpack config when using webpack-browser builds
* cleanup(angular): have buildApp function determine what builder to use
have buildApp function determine what builder to use keeping run function cleaner
* chore(misc): add IGNORE_MATCHES to CI dep discrepancy check
Add option to ignore packages in the discrepancy check for CI
* cleanup(angular): throw schematic error when webpack config path incorrect
Throw a helpful error when the user supplies an incorrect custom webpack config file path
* feat(angular): upgrade Angular to v12.0.0-rc.3
* feat(angular): target Nx v12.4.0-beta.0 for Angular v12.0.0-rc.0 upgrade
* fix(angular): use defaultConfiguration if no other configuration is passed
* cleanup(angular): sync migration folder name to target version
* fix(repo): creating custom schema flattener for docs
* chore(repo): amend yarn.lock
* feat(angular): update angular storybook to use webpack 5
* fix(angular): add legacy peer deps for angular+jest
* fix(angular): move migrations to 12.3.0-rc.0
Co-authored-by: Zack DeRose <zack.derose@gmail.com>
Co-authored-by: Jason Jean <jasonjean1993@gmail.com>
* feat(angular): eslint config including template linting
* feat(angular): migration add-template-support-and-presets
* feat(angular): add support for component and directive prefix in lint config
* fix(angular): tests
* fix(angular): e2e tests
* fix(angular): update to latest and make updates
* fix(angular): update to latest and make updates
* fix(angular): lockfile
* fix(angular): update to latest and make updates
* fix(angular): bump angular-eslint
Co-authored-by: Jason Jean <jasonjean1993@gmail.com>
Move addUpdateTask util function to @nrwl/workspace to run updates from @nrwl/angular migrations
Run update migration to latest version for NgRx if installed