71436fbee8
## Current Behavior There's no React example in the repo that dogfoods the local `@nx/vite` / `@nx/react` / `@nx/playwright` / `@nx/eslint` packages end-to-end. Separately, the global `test` targetDefault applied jest-only options to **every** `test` target — including `@nx/vitest` ones: `--detectOpenHandles`, `--forceExit`, and `NODE_OPTIONS=--experimental-vm-modules`. vitest rejects those jest flags (`CACError: Unknown option '--detectOpenHandles'`), so every vitest project had to carry a per-project `test` override to strip them. ## Expected Behavior This PR has two commits: **`chore(repo)`: scope test target defaults by plugin (jest vs vitest)** - Scope the jest flags to `@nx/jest/plugin` targets, and add a `@nx/vitest`-scoped default that supplies just `--passWithNoTests`. - Vitest `test` targets now resolve correct args with no per-project override, so the redundant overrides are removed from `@nx/angular-rspack` and `@nx/angular-rspack-compiler` (their tests still pass — 25 and 80 specs respectively; the only real dependency, `^build-native`, comes from the targetDefault). - Consolidate the `@nx/vite/plugin` and `@nx/vitest` plugin declarations (drop the dead `angular-rspack*` vite include). **`feat(react)`: add react + vite + vitest + playwright example** - Add `examples/react/basic` — a React app built with **Vite**, unit-tested with **Vitest**, e2e-tested with **Playwright**, and linted with **ESLint** — all linked to the local workspace packages via `workspace:*`, so it dogfoods the in-repo builds. - Targets verified: `build`, `test` (2 specs), `pw-e2e` (chromium, 1 spec), `lint`, `typecheck`. Workspace `nx sync:check` clean. ## Related Issue(s) Tracked in NXC-4540 (linked via branch name). --------- Co-authored-by: nx-cloud[bot] <71083854+nx-cloud[bot]@users.noreply.github.com> Co-authored-by: FrozenPandaz <FrozenPandaz@users.noreply.github.com>
349 lines
5.4 KiB
JSON
349 lines
5.4 KiB
JSON
{
|
|
"compileOnSave": false,
|
|
"include": [],
|
|
"files": [],
|
|
"exclude": ["node_modules", "tmp"],
|
|
"references": [
|
|
{
|
|
"path": "./packages/angular"
|
|
},
|
|
{
|
|
"path": "./packages/create-nx-plugin"
|
|
},
|
|
{
|
|
"path": "./packages/create-nx-workspace"
|
|
},
|
|
{
|
|
"path": "./packages/cypress"
|
|
},
|
|
{
|
|
"path": "./packages/detox"
|
|
},
|
|
{
|
|
"path": "./packages/devkit"
|
|
},
|
|
{
|
|
"path": "./packages/esbuild"
|
|
},
|
|
{
|
|
"path": "./packages/eslint"
|
|
},
|
|
{
|
|
"path": "./packages/eslint-plugin"
|
|
},
|
|
{
|
|
"path": "./packages/expo"
|
|
},
|
|
{
|
|
"path": "./packages/express"
|
|
},
|
|
{
|
|
"path": "./packages/gradle"
|
|
},
|
|
{
|
|
"path": "./packages/jest"
|
|
},
|
|
{
|
|
"path": "./packages/js"
|
|
},
|
|
{
|
|
"path": "./packages/module-federation"
|
|
},
|
|
{
|
|
"path": "./packages/nest"
|
|
},
|
|
{
|
|
"path": "./packages/next"
|
|
},
|
|
{
|
|
"path": "./packages/node"
|
|
},
|
|
{
|
|
"path": "./packages/nuxt"
|
|
},
|
|
{
|
|
"path": "./packages/nx"
|
|
},
|
|
{
|
|
"path": "./packages/playwright"
|
|
},
|
|
{
|
|
"path": "./packages/plugin"
|
|
},
|
|
{
|
|
"path": "./packages/react"
|
|
},
|
|
{
|
|
"path": "./packages/react-native"
|
|
},
|
|
{
|
|
"path": "./packages/remix"
|
|
},
|
|
{
|
|
"path": "./packages/rollup"
|
|
},
|
|
{
|
|
"path": "./packages/rsbuild"
|
|
},
|
|
{
|
|
"path": "./packages/rspack"
|
|
},
|
|
{
|
|
"path": "./packages/storybook"
|
|
},
|
|
{
|
|
"path": "./packages/vite"
|
|
},
|
|
{
|
|
"path": "./packages/vitest"
|
|
},
|
|
{
|
|
"path": "./packages/vue"
|
|
},
|
|
{
|
|
"path": "./packages/web"
|
|
},
|
|
{
|
|
"path": "./packages/webpack"
|
|
},
|
|
{
|
|
"path": "./packages/workspace"
|
|
},
|
|
{
|
|
"path": "./graph/client"
|
|
},
|
|
{
|
|
"path": "./graph/migrate"
|
|
},
|
|
{
|
|
"path": "./graph/project-details"
|
|
},
|
|
{
|
|
"path": "./graph/ui-code-block"
|
|
},
|
|
{
|
|
"path": "./graph/ui-common"
|
|
},
|
|
{
|
|
"path": "./graph/ui-project-details"
|
|
},
|
|
{
|
|
"path": "./tools/documentation/create-embeddings"
|
|
},
|
|
{
|
|
"path": "./tools/workspace-plugin"
|
|
},
|
|
{
|
|
"path": "./e2e/lerna-smoke-tests"
|
|
},
|
|
{
|
|
"path": "./e2e/workspace-create"
|
|
},
|
|
{
|
|
"path": "./nx-dev/data-access-courses"
|
|
},
|
|
{
|
|
"path": "./nx-dev/data-access-documents"
|
|
},
|
|
{
|
|
"path": "./nx-dev/feature-analytics"
|
|
},
|
|
{
|
|
"path": "./nx-dev/feature-search"
|
|
},
|
|
{
|
|
"path": "./nx-dev/models-document"
|
|
},
|
|
{
|
|
"path": "./nx-dev/models-menu"
|
|
},
|
|
{
|
|
"path": "./nx-dev/models-package"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-animations"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-blog"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-common"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-courses"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-fence"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-icons"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-markdoc"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-primitives"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-references"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-theme"
|
|
},
|
|
{
|
|
"path": "./nx-dev/ui-video-courses"
|
|
},
|
|
{
|
|
"path": "./tools/eslint-rules"
|
|
},
|
|
{
|
|
"path": "./nx-dev/feature-ai"
|
|
},
|
|
{
|
|
"path": "./graph/client-e2e"
|
|
},
|
|
{
|
|
"path": "./e2e/react-native"
|
|
},
|
|
{
|
|
"path": "./e2e/playwright"
|
|
},
|
|
{
|
|
"path": "./nx-dev/util-ai"
|
|
},
|
|
{
|
|
"path": "./e2e/storybook"
|
|
},
|
|
{
|
|
"path": "./nx-dev/nx-dev"
|
|
},
|
|
{
|
|
"path": "./e2e/angular"
|
|
},
|
|
{
|
|
"path": "./e2e/cypress"
|
|
},
|
|
{
|
|
"path": "./e2e/esbuild"
|
|
},
|
|
{
|
|
"path": "./e2e/nx-init"
|
|
},
|
|
{
|
|
"path": "./e2e/release"
|
|
},
|
|
{
|
|
"path": "./e2e/webpack"
|
|
},
|
|
{
|
|
"path": "./e2e/eslint"
|
|
},
|
|
{
|
|
"path": "./e2e/gradle"
|
|
},
|
|
{
|
|
"path": "./e2e/plugin"
|
|
},
|
|
{
|
|
"path": "./e2e/rollup"
|
|
},
|
|
{
|
|
"path": "./e2e/rspack"
|
|
},
|
|
{
|
|
"path": "./e2e/detox"
|
|
},
|
|
{
|
|
"path": "./e2e/react"
|
|
},
|
|
{
|
|
"path": "./e2e/remix"
|
|
},
|
|
{
|
|
"path": "./e2e/utils"
|
|
},
|
|
{
|
|
"path": "./e2e/expo"
|
|
},
|
|
{
|
|
"path": "./e2e/jest"
|
|
},
|
|
{
|
|
"path": "./e2e/next"
|
|
},
|
|
{
|
|
"path": "./e2e/node"
|
|
},
|
|
{
|
|
"path": "./e2e/nuxt"
|
|
},
|
|
{
|
|
"path": "./e2e/vite"
|
|
},
|
|
{
|
|
"path": "./e2e/vue"
|
|
},
|
|
{
|
|
"path": "./e2e/web"
|
|
},
|
|
{
|
|
"path": "./e2e/js"
|
|
},
|
|
{
|
|
"path": "./e2e/nx"
|
|
},
|
|
{
|
|
"path": "./packages/docker"
|
|
},
|
|
{
|
|
"path": "./astro-docs"
|
|
},
|
|
{
|
|
"path": "./e2e/docker"
|
|
},
|
|
{
|
|
"path": "./graph/shared"
|
|
},
|
|
{
|
|
"path": "./graph/ui-icons"
|
|
},
|
|
{
|
|
"path": "./packages/angular-rspack-compiler"
|
|
},
|
|
{
|
|
"path": "./packages/angular-rspack"
|
|
},
|
|
{
|
|
"path": "./tools/update-repos"
|
|
},
|
|
{
|
|
"path": "./graph/ui-render-config"
|
|
},
|
|
{
|
|
"path": "./packages/dotnet"
|
|
},
|
|
{
|
|
"path": "./e2e/dotnet"
|
|
},
|
|
{
|
|
"path": "./packages/maven"
|
|
},
|
|
{
|
|
"path": "./e2e/maven"
|
|
},
|
|
{
|
|
"path": "./e2e/module-federation"
|
|
},
|
|
{
|
|
"path": "./nx-dev/nx-dev-e2e"
|
|
},
|
|
{
|
|
"path": "./e2e/nx-build"
|
|
}
|
|
],
|
|
"extends": "./tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"ignoreDeprecations": "6.0"
|
|
}
|
|
}
|