This PR updates app and lib generators in the following packages such
that they will generate files with the TS solution setup if it is
detected.
- `@nx/react`
- `@nx/next`
- `@nx/remix`
- `@nx/expo`
- `@nx/react-native`
React apps and libs will be linked using npm/pnpm/yarn/bun workspaces
feature rather than through tsconfig paths. This means that local
aliases like `@/` will work with Next.js and Remix apps.
Note: This will be behind `--workspaces` flag when using `npx
create-nx-workspace` and choosing React stack. If you use the None/TS
stack then adding plugins like `nx add @nx/react` then generating apps,
it will automatically pick up the new TS solution setup.
<!-- 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
React generators are not compatible with TS solution setup (i.e.
workspaces + TS project references).
## Expected Behavior
React generators work with new TS solution setup (Plain, Next.js, Remix,
Expo, React Native).
## Related Issue(s)
#28322
---------
Co-authored-by: Leosvel Pérez Espinosa <leosvel.perez.espinosa@gmail.com>
Co-authored-by: Nicholas Cunningham <ndcunningham@gmail.com>
* feat(testing): move jest config to .ts
move jest config and preset to ts files
ISSUES CLOSED: #8344
* fix(testing): update tests for jest.config.ts changes
update tests broken by renaming jest fils to ts files
* fix(testing): add .test. files to spec tsconfig template
add support for .test.ts and with supportTsx .test.{js|tsx|jsx} files
in the tsconfig.spec.json template.
Note each package that excludes testing files will need to be updated to
exclude the new files (coming in future commits)
* fix(angular): add .test.ts support in tsconfigs
add .test.ts in angular jest template
update angular generators to exclude test files
* fix(gatsby): add .test. file prefixes to tsconfig ignore
ignore the new .test.{js|ts|jsx|tsx} files added to jest configs
* fix(react): add .test. file prefix to app/lib tsconfigs
add .test.{ts|js|tsx|jsx} files to be excluded by app/lib tsconfig
* fix(node): add .test. file prefix to app/lib tsconfig
add .test.{ts|js|tsx|jsx} files to be excluded by app/lib tsconfig
ISSUES CLOSED: #7263
* fix(nest): update tests for new .test.ts files in tsconfig
update tests to account for changes in node generators which add .test.ts to the exclude of
tsconfigs
* fix(express): update tests to account for new tsconfig changes
updated snapshots
added new patterns for tsconfig
* fix(linter): update snapshots for new tsconfig changes
snapshot updated to include new .test.ts file changes for tsconfig
* fix(node): update testing to account for spec tsconfig changes
add .test.ts files in e2e tests
* fix(testing): add migration for tsconfig changes
initial migration and test for tsconfig changes
* chore(testing): add to migrations collection
add the update-ts-config-for-test-filenames to migrations
* fix(testing): fix filesystem issue with jest tests
mock readConfig to always return an basic config to prevent issues of not finding a config in non
linux environments, aka missing /root
* cleanup(testing): update error message
update message logged when tsconfig isn't found to mention what was trying to be accompished so it
can be manually updated if desired.