* 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>
* feat(react): Add MFE Generator for Host and Remote Apps
Host generator will be able use the mfe-remote generator when remotes are passed into the CLI for the mfe-host command
* docs(react): React Documentation Update
Co-authored-by: Nicholas Cunningham <nico@Nicholass-MacBook-Pro.local>
Co-authored-by: Nicholas Cunningham <ndcunningham>
* fix(misc): avoid issues with refs in SVGs
The previous "import friendly" syntax was actually disabling refs in SVGs parsed by svgr.
I found 3 possible solutions:
1. Removing "![path]"
2. Separating "+ref![path]" with another comma: "+ref,![path]"
3. Rewriting the loader entry in the style of the other loader entries
I chose the last one for added clarity within the file.
* fix(core): fix compilation errors
* chore(react): update emotion to new versions and new package names on react plugin
* chore(nextjs): update emotion to latest version and the new package names
* feat(misc): have react and next plugin migrations update emotion imports
* add renamePackageImports and renameNpmPackage rules to workspace utils
* update migrations to update emotion imports to the new name and version
* fix(core): resolve webpack loaders with `require.resolve()`
With strict package managers such as pnpm or Yarn PnP, transitive
dependencies are *not* hoisted to the root node_modules folder. This
means that a webpack config defined within a package like
'@nrwl/cypress' cannot resolve loaders like 'ts-loader', unless
'ts-loader' is declared in the workspace's own package.json.
This is a problem because the workspace might define a different version
of 'ts-loader', incompatible with the version declared by
'@nrwl/cypress/package.json'. The workspace should not need to declare
a dependency on 'ts-loader' anyway.
See also:
* https://github.com/pnpm/pnpm/issues/801
* https://github.com/webpack/webpack/issues/5087
* fix(core): resolve absolute 'raw-loader' path
When replacing the 'raw-loader' rule in the `getStylesPartial` function,
check for the absolute path of 'raw-loader' rather than just the name.
With strict package managers such as pnpm or Yarn PnP, transitive
dependencies are *not* hoisted to the root node_modules folder. This
means that a webpack config defined within a package like
'@nrwl/cypress' cannot resolve loaders like 'ts-loader', unless
'ts-loader' is declared in the workspace's own package.json.
This is a problem because the workspace might define a different version
of 'ts-loader', incompatible with the version declared by
'@nrwl/cypress/package.json'. The workspace should not need to declare
a dependency on 'ts-loader' anyway.
See also:
* https://github.com/pnpm/pnpm/issues/801
* https://github.com/webpack/webpack/issues/5087
- removes the `differentialLoading` build option
- differential loading is always enabled for prod builds
BEFORE (without ESM):
Benchmark #1: nx build demo --prod
Time (mean ± σ): 13.834 s ± 1.731 s [User: 11.817 s, System: 1.352 s]
Range (min … max): 11.947 s … 16.015 s 10 runs
AFTER (with ESM):
Benchmark #1: nx build demo --prod
Time (mean ± σ): 18.711 s ± 1.310 s [User: 12.172 s, System: 1.394 s]
Range (min … max): 17.232 s … 20.770 s 10 runs