diff --git a/docs/generated/cli/create-nx-workspace.md b/docs/generated/cli/create-nx-workspace.md index 4292def25a..620926a2a6 100644 --- a/docs/generated/cli/create-nx-workspace.md +++ b/docs/generated/cli/create-nx-workspace.md @@ -75,7 +75,7 @@ Generate a Dockerfile for the Node API Type: `string` -Choices: [cypress, playwright, none] +Choices: [playwright, cypress, none] Test runner to use for end to end (E2E) tests. diff --git a/docs/generated/manifests/nx-api.json b/docs/generated/manifests/nx-api.json index de8487215e..667dce4c62 100644 --- a/docs/generated/manifests/nx-api.json +++ b/docs/generated/manifests/nx-api.json @@ -3,12 +3,12 @@ "githubRoot": "https://github.com/nrwl/nx/blob/master", "name": "angular", "packageName": "@nx/angular", - "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", "documents": { "/nx-api/angular/documents/overview": { "id": "overview", "name": "Overview", - "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/angular/documents/overview", "itemList": [], "isExternal": false, @@ -19,7 +19,7 @@ "/nx-api/angular/documents/angular-nx-version-matrix": { "id": "angular-nx-version-matrix", "name": "Angular and Nx Version Matrix", - "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/angular/documents/angular-nx-version-matrix", "itemList": [], "isExternal": false, @@ -1410,12 +1410,12 @@ "githubRoot": "https://github.com/nrwl/nx/blob/master", "name": "next", "packageName": "@nx/next", - "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", + "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Playwright, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", "documents": { "/nx-api/next/documents/overview": { "id": "overview", "name": "Overview", - "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", + "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Playwright, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", "file": "generated/packages/next/documents/overview", "itemList": [], "isExternal": false, @@ -1587,7 +1587,7 @@ "githubRoot": "https://github.com/nrwl/nx/blob/master", "name": "nuxt", "packageName": "@nx/nuxt", - "description": "The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": { "/nx-api/nuxt/documents/overview": { "id": "overview", @@ -2114,12 +2114,12 @@ "githubRoot": "https://github.com/nrwl/nx/blob/master", "name": "react", "packageName": "@nx/react", - "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": { "/nx-api/react/documents/overview": { "id": "overview", "name": "Overview", - "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/react/documents/overview", "itemList": [], "isExternal": false, @@ -2517,12 +2517,12 @@ "githubRoot": "https://github.com/nrwl/nx/blob/master", "name": "remix", "packageName": "@nx/remix", - "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": { "/nx-api/remix/documents/overview": { "id": "overview", "name": "Overview", - "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/remix/documents/overview", "itemList": [], "isExternal": false, @@ -2940,7 +2940,7 @@ "githubRoot": "https://github.com/nrwl/nx/blob/master", "name": "vue", "packageName": "@nx/vue", - "description": "The Vue plugin for Nx contains executors and generators for managing Vue applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Vue plugin for Nx contains executors and generators for managing Vue applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": { "/nx-api/vue/documents/overview": { "id": "overview", @@ -3028,12 +3028,12 @@ "githubRoot": "https://github.com/nrwl/nx/blob/master", "name": "web", "packageName": "@nx/web", - "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Playwright, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", "documents": { "/nx-api/web/documents/overview": { "id": "overview", "name": "Overview", - "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Playwright, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/web/documents/overview", "itemList": [], "isExternal": false, diff --git a/docs/generated/packages-metadata.json b/docs/generated/packages-metadata.json index 7f896eb08c..a700ad7a7d 100644 --- a/docs/generated/packages-metadata.json +++ b/docs/generated/packages-metadata.json @@ -1,11 +1,11 @@ [ { - "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", "documents": [ { "id": "overview", "name": "Overview", - "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/angular/documents/overview", "itemList": [], "isExternal": false, @@ -16,7 +16,7 @@ { "id": "angular-nx-version-matrix", "name": "Angular and Nx Version Matrix", - "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/angular/documents/angular-nx-version-matrix", "itemList": [], "isExternal": false, @@ -1392,12 +1392,12 @@ "source": "/packages/nest/src" }, { - "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", + "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Playwright, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", "documents": [ { "id": "overview", "name": "Overview", - "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", + "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Playwright, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", "file": "generated/packages/next/documents/overview", "itemList": [], "isExternal": false, @@ -1567,7 +1567,7 @@ "source": "/packages/node/src" }, { - "description": "The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": [ { "id": "overview", @@ -2090,12 +2090,12 @@ "source": "/packages/plugin/src" }, { - "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": [ { "id": "overview", "name": "Overview", - "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/react/documents/overview", "itemList": [], "isExternal": false, @@ -2491,12 +2491,12 @@ "source": "/packages/react-native/src" }, { - "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": [ { "id": "overview", "name": "Overview", - "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/remix/documents/overview", "itemList": [], "isExternal": false, @@ -2909,7 +2909,7 @@ "source": "/packages/vite/src" }, { - "description": "The Vue plugin for Nx contains executors and generators for managing Vue applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Vue plugin for Nx contains executors and generators for managing Vue applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "documents": [ { "id": "overview", @@ -2996,12 +2996,12 @@ "source": "/packages/vue/src" }, { - "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Playwright, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", "documents": [ { "id": "overview", "name": "Overview", - "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Playwright, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", "file": "generated/packages/web/documents/overview", "itemList": [], "isExternal": false, diff --git a/docs/generated/packages/angular/generators/application.json b/docs/generated/packages/angular/generators/application.json index 6123da361f..2e8ec86a05 100644 --- a/docs/generated/packages/angular/generators/application.json +++ b/docs/generated/packages/angular/generators/application.json @@ -107,10 +107,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/angular/generators/host.json b/docs/generated/packages/angular/generators/host.json index d08cd5d889..e89ed42a53 100644 --- a/docs/generated/packages/angular/generators/host.json +++ b/docs/generated/packages/angular/generators/host.json @@ -114,10 +114,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/angular/generators/remote.json b/docs/generated/packages/angular/generators/remote.json index 2b044acf24..e7e464629a 100644 --- a/docs/generated/packages/angular/generators/remote.json +++ b/docs/generated/packages/angular/generators/remote.json @@ -108,10 +108,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/expo/generators/application.json b/docs/generated/packages/expo/generators/application.json index 6396844a11..de17035d2a 100644 --- a/docs/generated/packages/expo/generators/application.json +++ b/docs/generated/packages/expo/generators/application.json @@ -75,8 +75,8 @@ "e2eTestRunner": { "description": "Adds the specified e2e test runner", "type": "string", - "enum": ["cypress", "playwright", "detox", "none"], - "default": "cypress" + "enum": ["playwright", "cypress", "detox", "none"], + "default": "playwright" }, "standaloneConfig": { "description": "Split the project configuration into `/project.json` rather than including it inside `workspace.json`.", diff --git a/docs/generated/packages/next/generators/application.json b/docs/generated/packages/next/generators/application.json index ba17071fd7..344a8545d1 100644 --- a/docs/generated/packages/next/generators/application.json +++ b/docs/generated/packages/next/generators/application.json @@ -86,10 +86,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/nuxt/generators/application.json b/docs/generated/packages/nuxt/generators/application.json index fd7c106136..2145854b09 100644 --- a/docs/generated/packages/nuxt/generators/application.json +++ b/docs/generated/packages/nuxt/generators/application.json @@ -49,10 +49,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/nx/documents/create-nx-workspace.md b/docs/generated/packages/nx/documents/create-nx-workspace.md index 4292def25a..620926a2a6 100644 --- a/docs/generated/packages/nx/documents/create-nx-workspace.md +++ b/docs/generated/packages/nx/documents/create-nx-workspace.md @@ -75,7 +75,7 @@ Generate a Dockerfile for the Node API Type: `string` -Choices: [cypress, playwright, none] +Choices: [playwright, cypress, none] Test runner to use for end to end (E2E) tests. diff --git a/docs/generated/packages/react-native/generators/application.json b/docs/generated/packages/react-native/generators/application.json index 447a4ec436..bf6339be61 100644 --- a/docs/generated/packages/react-native/generators/application.json +++ b/docs/generated/packages/react-native/generators/application.json @@ -75,8 +75,8 @@ "e2eTestRunner": { "description": "Adds the specified e2e test runner.", "type": "string", - "enum": ["cypress", "playwright", "detox", "none"], - "default": "cypress" + "enum": ["playwright", "cypress", "detox", "none"], + "default": "playwright" }, "install": { "type": "boolean", diff --git a/docs/generated/packages/react/generators/application.json b/docs/generated/packages/react/generators/application.json index c463a55f58..e3a1c1b306 100644 --- a/docs/generated/packages/react/generators/application.json +++ b/docs/generated/packages/react/generators/application.json @@ -116,10 +116,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/react/generators/host.json b/docs/generated/packages/react/generators/host.json index 25b635247c..c667bcbdab 100644 --- a/docs/generated/packages/react/generators/host.json +++ b/docs/generated/packages/react/generators/host.json @@ -97,10 +97,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/react/generators/remote.json b/docs/generated/packages/react/generators/remote.json index eeba3d1daf..d3a8a47e65 100644 --- a/docs/generated/packages/react/generators/remote.json +++ b/docs/generated/packages/react/generators/remote.json @@ -103,10 +103,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/remix/generators/application.json b/docs/generated/packages/remix/generators/application.json index 9bac9a7299..9ca0db27d7 100644 --- a/docs/generated/packages/remix/generators/application.json +++ b/docs/generated/packages/remix/generators/application.json @@ -45,8 +45,8 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], - "default": "cypress", + "enum": ["playwright", "cypress", "none"], + "default": "playwright", "description": "Test runner to use for e2e tests", "x-prompt": "Which E2E test runner would you like to use?" }, diff --git a/docs/generated/packages/vue/generators/application.json b/docs/generated/packages/vue/generators/application.json index 847a7685a4..27b8189f4a 100644 --- a/docs/generated/packages/vue/generators/application.json +++ b/docs/generated/packages/vue/generators/application.json @@ -91,10 +91,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/web/generators/application.json b/docs/generated/packages/web/generators/application.json index 758b8e14e7..7ddf805e10 100644 --- a/docs/generated/packages/web/generators/application.json +++ b/docs/generated/packages/web/generators/application.json @@ -84,10 +84,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "x-prompt": "Which E2E test runner would you like to use?", "description": "Test runner to use for end to end (e2e) tests", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/docs/generated/packages/workspace/generators/new.json b/docs/generated/packages/workspace/generators/new.json index c0e68a442b..a1f3a1ea3d 100644 --- a/docs/generated/packages/workspace/generators/new.json +++ b/docs/generated/packages/workspace/generators/new.json @@ -73,7 +73,7 @@ "e2eTestRunner": { "description": "The tool to use for running e2e tests.", "type": "string", - "enum": ["cypress", "playwright", "jest", "detox", "none"] + "enum": ["playwright", "cypress", "jest", "detox", "none"] }, "ssr": { "description": "Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.", diff --git a/docs/generated/packages/workspace/generators/preset.json b/docs/generated/packages/workspace/generators/preset.json index 9b050e4602..095ef50d9b 100644 --- a/docs/generated/packages/workspace/generators/preset.json +++ b/docs/generated/packages/workspace/generators/preset.json @@ -90,7 +90,7 @@ "e2eTestRunner": { "description": "The tool to use for running e2e tests.", "type": "string", - "enum": ["cypress", "playwright", "jest", "detox", "none"] + "enum": ["playwright", ",cypress", "jest", "detox", "none"] }, "ssr": { "description": "Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.", diff --git a/e2e/angular-core/src/projects.test.ts b/e2e/angular-core/src/projects.test.ts index bfea0634c3..2c52fb000b 100644 --- a/e2e/angular-core/src/projects.test.ts +++ b/e2e/angular-core/src/projects.test.ts @@ -126,9 +126,9 @@ describe('Angular Projects', () => { ); // check e2e tests - if (runE2ETests('cypress')) { + if (runE2ETests('playwright')) { const e2eResults = runCLI(`e2e ${app1}-e2e`); - expect(e2eResults).toContain('All specs passed!'); + expect(e2eResults).toContain('Successfully ran target e2e for project'); expect(await killPort(4200)).toBeTruthy(); } diff --git a/e2e/angular-module-federation/src/module-federation.test.ts b/e2e/angular-module-federation/src/module-federation.test.ts index 1558f02923..7657bba1a7 100644 --- a/e2e/angular-module-federation/src/module-federation.test.ts +++ b/e2e/angular-module-federation/src/module-federation.test.ts @@ -319,7 +319,7 @@ describe('Angular Module Federation', () => { const hostPort = 4200; runCLI( - `generate @nx/angular:host ${host} --remotes=${remote} --no-interactive --projectNameAndRootFormat=as-provided` + `generate @nx/angular:host ${host} --remotes=${remote} --e2eTestRunner=cypress --no-interactive --projectNameAndRootFormat=as-provided` ); runCLI( @@ -393,7 +393,7 @@ describe('Angular Module Federation', () => { const hostPort = 4200; runCLI( - `generate @nx/angular:host ${host} --remotes=${remote} --no-interactive --projectNameAndRootFormat=as-provided` + `generate @nx/angular:host ${host} --remotes=${remote} --e2eTestRunner=cypress --no-interactive --projectNameAndRootFormat=as-provided` ); runCLI( diff --git a/e2e/eslint/src/linter.test.ts b/e2e/eslint/src/linter.test.ts index 5654460696..401e593094 100644 --- a/e2e/eslint/src/linter.test.ts +++ b/e2e/eslint/src/linter.test.ts @@ -595,7 +595,6 @@ describe('Linter', () => { expect(appOverrides).toContain('plugin:@nx/typescript'); let e2eOverrides = JSON.stringify(e2eEslint.overrides); expect(e2eOverrides).toContain('plugin:@nx/javascript'); - expect(e2eOverrides).toContain('plugin:@nx/typescript'); runCLI(`generate @nx/js:lib ${mylib} --unitTestRunner=jest`); verifySuccessfulMigratedSetup(myapp, mylib); @@ -628,7 +627,7 @@ describe('Linter', () => { let appOverrides = JSON.stringify(appEslint.overrides); expect(appOverrides).toContain('plugin:@nx/typescript'); let e2eOverrides = JSON.stringify(e2eEslint.overrides); - expect(e2eOverrides).toContain('plugin:@nx/typescript'); + expect(e2eOverrides).toContain('plugin:@nx/javascript'); runCLI(`generate @nx/js:lib ${mylib} --no-interactive`); verifySuccessfulMigratedSetup(myapp, mylib); diff --git a/e2e/react-core/src/react.test.ts b/e2e/react-core/src/react.test.ts index 1347ca3368..c877b86a44 100644 --- a/e2e/react-core/src/react.test.ts +++ b/e2e/react-core/src/react.test.ts @@ -57,12 +57,8 @@ describe('React Applications', () => { checkFilesExist(`dist/apps/${appName}/index.html`); if (runE2ETests()) { - const e2eResults = runCLI(`e2e ${appName}-e2e`, { - env: { - DEBUG: 'cypress:server:*', - }, - }); - expect(e2eResults).toContain('All specs passed!'); + const e2eResults = runCLI(`e2e ${appName}-e2e`); + expect(e2eResults).toContain('Successfully ran target e2e for project'); expect(await killPorts()).toBeTruthy(); } }, 250_000); diff --git a/e2e/react-module-federation/src/react-module-federation.test.ts b/e2e/react-module-federation/src/react-module-federation.test.ts index 6ecc03278f..d55ca519bb 100644 --- a/e2e/react-module-federation/src/react-module-federation.test.ts +++ b/e2e/react-module-federation/src/react-module-federation.test.ts @@ -43,7 +43,7 @@ describe('React Module Federation', () => { const defaultRemotePort = 4201; runCLI( - `generate @nx/react:host ${shell} --remotes=${remote1},${remote2},${remote3} --style=css --no-interactive --skipFormat --js=${js}` + `generate @nx/react:host ${shell} --remotes=${remote1},${remote2},${remote3} --e2eTestRunner=cypress --style=css --no-interactive --skipFormat --js=${js}` ); checkFilesExist( @@ -173,7 +173,8 @@ describe('React Module Federation', () => { const e2eResultsTsNode = await runCommandUntil( `e2e ${shell}-e2e --no-watch --verbose`, - (output) => output.includes('All specs passed!'), + (output) => + output.includes('Successfully ran target e2e for project'), { env: { NX_PREFER_TS_NODE: 'true' }, } @@ -300,7 +301,7 @@ describe('React Module Federation', () => { const host = uniq('host'); runCLI( - `generate @nx/react:host ${host} --remotes=${remote} --no-interactive --projectNameAndRootFormat=as-provided --skipFormat` + `generate @nx/react:host ${host} --remotes=${remote} --e2eTestRunner=cypress --no-interactive --projectNameAndRootFormat=as-provided --skipFormat` ); runCLI( @@ -401,7 +402,7 @@ describe('React Module Federation', () => { const host = uniq('host'); runCLI( - `generate @nx/react:host ${host} --remotes=${remote} --no-interactive --projectNameAndRootFormat=as-provided --skipFormat` + `generate @nx/react:host ${host} --remotes=${remote} --e2eTestRunner=cypress --no-interactive --projectNameAndRootFormat=as-provided --skipFormat` ); runCLI( @@ -509,7 +510,7 @@ describe('React Module Federation', () => { const host = uniq('host'); runCLI( - `generate @nx/react:host ${host} --remotes=${remote} --no-interactive --projectNameAndRootFormat=as-provided --typescriptConfiguration=false --skipFormat` + `generate @nx/react:host ${host} --remotes=${remote} --e2eTestRunner=cypress --no-interactive --projectNameAndRootFormat=as-provided --typescriptConfiguration=false --skipFormat` ); // Update remote to be loaded via script @@ -643,7 +644,7 @@ describe('React Module Federation', () => { const lib = uniq('lib'); runCLI( - `generate @nx/react:host ${shell} --remotes=${remote} --no-interactive --projectNameAndRootFormat=as-provided --skipFormat` + `generate @nx/react:host ${shell} --remotes=${remote} --e2eTestRunner=cypress --no-interactive --projectNameAndRootFormat=as-provided --skipFormat` ); runCLI( @@ -793,7 +794,7 @@ describe('React Module Federation', () => { const remote = uniq('remote'); runCLI( - `generate @nx/react:host ${shell} --remotes=${remote} --project-name-and-root-format=as-provided --no-interactive --skipFormat` + `generate @nx/react:host ${shell} --remotes=${remote} --e2eTestRunner=cypress --project-name-and-root-format=as-provided --no-interactive --skipFormat` ); const shellPort = readPort(shell); @@ -928,7 +929,7 @@ describe('React Module Federation', () => { const remote = uniq('remote'); runCLI( - `generate @nx/react:host ${shell} --remotes=${remote} --dynamic=true --project-name-and-root-format=as-provided --no-interactive --skipFormat` + `generate @nx/react:host ${shell} --remotes=${remote} --e2eTestRunner=cypress --dynamic=true --project-name-and-root-format=as-provided --no-interactive --skipFormat` ); // Webpack prod config should not exists when loading dynamic modules diff --git a/e2e/web/src/web-vite.test.ts b/e2e/web/src/web-vite.test.ts index 16f5c7a909..6a92d6445e 100644 --- a/e2e/web/src/web-vite.test.ts +++ b/e2e/web/src/web-vite.test.ts @@ -36,7 +36,7 @@ describe('Web Components Applications with bundler set as vite', () => { if (isNotWindows() && runE2ETests()) { const e2eResults = runCLI(`e2e ${appName}-e2e`); - expect(e2eResults).toContain('All specs passed!'); + expect(e2eResults).toContain('Successfully ran target e2e for project'); await killPorts(); } }, 500000); diff --git a/e2e/web/src/web.test.ts b/e2e/web/src/web.test.ts index 04099e44dc..67c13f0eb7 100644 --- a/e2e/web/src/web.test.ts +++ b/e2e/web/src/web.test.ts @@ -42,7 +42,7 @@ describe('Web Components Applications', () => { if (isNotWindows() && runE2ETests()) { const e2eResults = runCLI(`e2e ${appName}-e2e`); - expect(e2eResults).toContain('All specs passed!'); + expect(e2eResults).toContain('Successfully ran target e2e for project'); await killPorts(); } diff --git a/packages/angular/package.json b/packages/angular/package.json index cc1282cdfb..474eac86de 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -2,7 +2,7 @@ "name": "@nx/angular", "version": "0.0.1", "private": false, - "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Angular contains executors, generators, and utilities for managing Angular applications and libraries within an Nx workspace. It provides: \n\n- Integration with libraries such as Storybook, Jest, ESLint, Tailwind CSS, Playwright and Cypress. \n\n- Generators to help scaffold code quickly (like: Micro Frontends, Libraries, both internal to your codebase and publishable to npm) \n\n- Single Component Application Modules (SCAMs) \n\n- NgRx helpers. \n\n- Utilities for automatic workspace refactoring.", "repository": { "type": "git", "url": "https://github.com/nrwl/nx.git", diff --git a/packages/angular/src/generators/application/lib/normalize-options.ts b/packages/angular/src/generators/application/lib/normalize-options.ts index 9b804617bb..41e4993561 100644 --- a/packages/angular/src/generators/application/lib/normalize-options.ts +++ b/packages/angular/src/generators/application/lib/normalize-options.ts @@ -61,7 +61,7 @@ export async function normalizeOptions( skipTests: options.unitTestRunner === UnitTestRunner.None, skipFormat: false, unitTestRunner: UnitTestRunner.Jest, - e2eTestRunner: E2eTestRunner.Cypress, + e2eTestRunner: E2eTestRunner.Playwright, linter: Linter.EsLint, strict: true, standalone: true, diff --git a/packages/angular/src/generators/application/schema.json b/packages/angular/src/generators/application/schema.json index 3b915e4785..fcc25a34e7 100644 --- a/packages/angular/src/generators/application/schema.json +++ b/packages/angular/src/generators/application/schema.json @@ -110,10 +110,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/angular/src/generators/component-cypress-spec/component-cypress-spec.spec.ts b/packages/angular/src/generators/component-cypress-spec/component-cypress-spec.spec.ts index db2d419fb5..3956bad450 100644 --- a/packages/angular/src/generators/component-cypress-spec/component-cypress-spec.spec.ts +++ b/packages/angular/src/generators/component-cypress-spec/component-cypress-spec.spec.ts @@ -8,6 +8,7 @@ import { componentGenerator } from '../component/component'; import * as storybookUtils from '../utils/storybook-ast/storybook-inputs'; import { generateTestApplication } from '../utils/testing'; import { componentCypressSpecGenerator } from './component-cypress-spec'; +import { E2eTestRunner } from '../../utils/test-runners'; // need to mock cypress otherwise it'll use the nx installed version from package.json // which is v9 while we are testing for the new v10 version @@ -23,7 +24,11 @@ describe('componentCypressSpec generator', () => { beforeEach(async () => { tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - await generateTestApplication(tree, { name: appName, skipFormat: true }); + await generateTestApplication(tree, { + name: appName, + skipFormat: true, + e2eTestRunner: E2eTestRunner.Cypress, + }); await componentGenerator(tree, { name: 'test-button', project: appName, diff --git a/packages/angular/src/generators/host/schema.json b/packages/angular/src/generators/host/schema.json index 53f0da7e4d..9e23a200ec 100644 --- a/packages/angular/src/generators/host/schema.json +++ b/packages/angular/src/generators/host/schema.json @@ -117,10 +117,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/angular/src/generators/remote/schema.json b/packages/angular/src/generators/remote/schema.json index a323446f7e..65454c2ea9 100644 --- a/packages/angular/src/generators/remote/schema.json +++ b/packages/angular/src/generators/remote/schema.json @@ -111,10 +111,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/angular/src/generators/setup-mf/setup-mf.spec.ts b/packages/angular/src/generators/setup-mf/setup-mf.spec.ts index 8513828a9f..a1f0fd02c1 100644 --- a/packages/angular/src/generators/setup-mf/setup-mf.spec.ts +++ b/packages/angular/src/generators/setup-mf/setup-mf.spec.ts @@ -7,6 +7,7 @@ import { import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; import { generateTestApplication } from '../utils/testing'; import { setupMf } from './setup-mf'; +import { E2eTestRunner } from '../../utils/test-runners'; describe('Init MF', () => { let tree: Tree; @@ -474,6 +475,7 @@ describe('Init MF', () => { routing: true, standalone: false, skipFormat: true, + e2eTestRunner: E2eTestRunner.Cypress, }); // ACT diff --git a/packages/create-nx-workspace/bin/create-nx-workspace.ts b/packages/create-nx-workspace/bin/create-nx-workspace.ts index 1f701ea81d..eaa5b52432 100644 --- a/packages/create-nx-workspace/bin/create-nx-workspace.ts +++ b/packages/create-nx-workspace/bin/create-nx-workspace.ts @@ -170,7 +170,7 @@ export const commandsObject: yargs.Argv = yargs }) .option('e2eTestRunner', { describe: chalk.dim`Test runner to use for end to end (E2E) tests.`, - choices: ['cypress', 'playwright', 'none'], + choices: ['playwright', 'cypress', 'none'], type: 'string', }) .option('ssr', { @@ -1224,14 +1224,14 @@ async function determineE2eTestRunner( type: 'autocomplete', name: 'e2eTestRunner', choices: [ - { - name: 'cypress', - message: 'Cypress [ https://www.cypress.io/ ]', - }, { name: 'playwright', message: 'Playwright [ https://playwright.dev/ ]', }, + { + name: 'cypress', + message: 'Cypress [ https://www.cypress.io/ ]', + }, { name: 'none', message: 'None', diff --git a/packages/create-nx-workspace/package.json b/packages/create-nx-workspace/package.json index a1077374ea..99baadefd5 100644 --- a/packages/create-nx-workspace/package.json +++ b/packages/create-nx-workspace/package.json @@ -17,6 +17,7 @@ "Nest", "Jest", "Cypress", + "Playwright", "CLI" ], "bin": { diff --git a/packages/expo/src/generators/application/schema.d.ts b/packages/expo/src/generators/application/schema.d.ts index 0aa6304421..38331a36bf 100644 --- a/packages/expo/src/generators/application/schema.d.ts +++ b/packages/expo/src/generators/application/schema.d.ts @@ -15,7 +15,7 @@ export interface Schema { js: boolean; // default is false linter: Linter; // default is eslint setParserOptionsProject?: boolean; // default is false - e2eTestRunner: 'cypress' | 'playwright' | 'detox' | 'none'; // default is cypress + e2eTestRunner: 'cypress' | 'playwright' | 'detox' | 'none'; // default is playwright standaloneConfig?: boolean; skipPackageJson?: boolean; // default is false addPlugin?: boolean; diff --git a/packages/expo/src/generators/application/schema.json b/packages/expo/src/generators/application/schema.json index 4aa0731e95..d7c4a827a8 100644 --- a/packages/expo/src/generators/application/schema.json +++ b/packages/expo/src/generators/application/schema.json @@ -75,8 +75,8 @@ "e2eTestRunner": { "description": "Adds the specified e2e test runner", "type": "string", - "enum": ["cypress", "playwright", "detox", "none"], - "default": "cypress" + "enum": ["playwright", "cypress", "detox", "none"], + "default": "playwright" }, "standaloneConfig": { "description": "Split the project configuration into `/project.json` rather than including it inside `workspace.json`.", diff --git a/packages/next/package.json b/packages/next/package.json index 055dfa4942..5b26f82a0a 100644 --- a/packages/next/package.json +++ b/packages/next/package.json @@ -2,7 +2,7 @@ "name": "@nx/next", "version": "0.0.1", "private": false, - "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", + "description": "The Next.js plugin for Nx contains executors and generators for managing Next.js applications and libraries within an Nx workspace. It provides:\n\n\n- Scaffolding for creating, building, serving, linting, and testing Next.js applications.\n\n- Integration with building, serving, and exporting a Next.js application.\n\n- Integration with React libraries within the workspace. \n\nWhen using Next.js in Nx, you get the out-of-the-box support for TypeScript, Playwright, Cypress, and Jest. No need to configure anything: watch mode, source maps, and typings just work.", "repository": { "type": "git", "url": "https://github.com/nrwl/nx.git", diff --git a/packages/next/src/generators/application/lib/add-e2e.ts b/packages/next/src/generators/application/lib/add-e2e.ts index 4856dd7245..5029005242 100644 --- a/packages/next/src/generators/application/lib/add-e2e.ts +++ b/packages/next/src/generators/application/lib/add-e2e.ts @@ -68,6 +68,7 @@ export async function addE2e(host: Tree, options: NormalizedSchema) { root: options.e2eProjectRoot, sourceRoot: joinPathFragments(options.e2eProjectRoot, 'src'), targets: {}, + tags: [], implicitDependencies: [options.projectName], }); return configurationGenerator(host, { diff --git a/packages/next/src/generators/application/lib/normalize-options.ts b/packages/next/src/generators/application/lib/normalize-options.ts index 07a76b8bc9..02d7bd96a7 100644 --- a/packages/next/src/generators/application/lib/normalize-options.ts +++ b/packages/next/src/generators/application/lib/normalize-options.ts @@ -110,7 +110,7 @@ export async function normalizeOptions( e2eWebServerAddress, e2eWebServerTarget, e2ePort, - e2eTestRunner: options.e2eTestRunner || 'cypress', + e2eTestRunner: options.e2eTestRunner || 'playwright', fileName, linter: options.linter || Linter.EsLint, name, diff --git a/packages/next/src/generators/application/schema.json b/packages/next/src/generators/application/schema.json index 5cbbafae7a..57fa43c312 100644 --- a/packages/next/src/generators/application/schema.json +++ b/packages/next/src/generators/application/schema.json @@ -89,10 +89,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 604a2e80e2..fba6fb6642 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -2,7 +2,7 @@ "name": "@nx/nuxt", "version": "0.0.1", "private": false, - "description": "The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nuxt plugin for Nx contains executors and generators for managing Nuxt applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "repository": { "type": "git", "url": "https://github.com/nrwl/nx.git", diff --git a/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap b/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap index b1880793f8..e56ad4e991 100644 --- a/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap +++ b/packages/nuxt/src/generators/application/__snapshots__/application.spec.ts.snap @@ -198,14 +198,11 @@ exports[`app generated files content - as-provided general application should cr "vitest.workspace.ts", "my-app/vitest.config.ts", "my-app-e2e/project.json", - "my-app-e2e/src/e2e/app.cy.ts", - "my-app-e2e/src/support/app.po.ts", - "my-app-e2e/src/support/e2e.ts", - "my-app-e2e/src/fixtures/example.json", - "my-app-e2e/src/support/commands.ts", - "my-app-e2e/cypress.config.ts", + "my-app-e2e/src/example.spec.ts", + "my-app-e2e/playwright.config.ts", "my-app-e2e/tsconfig.json", "my-app-e2e/.eslintrc.json", + ".vscode/extensions.json", ] `; diff --git a/packages/nuxt/src/generators/application/application.spec.ts b/packages/nuxt/src/generators/application/application.spec.ts index ef1210a1ff..b53669cb5d 100644 --- a/packages/nuxt/src/generators/application/application.spec.ts +++ b/packages/nuxt/src/generators/application/application.spec.ts @@ -76,7 +76,7 @@ describe('app', () => { options: { buildTargetName: 'build', serveTargetName: 'serve' }, }, { - plugin: '@nx/cypress/plugin', + plugin: '@nx/playwright/plugin', options: { targetName: 'e2e' }, }, ]); diff --git a/packages/nuxt/src/generators/application/lib/normalize-options.ts b/packages/nuxt/src/generators/application/lib/normalize-options.ts index ebefc08288..4fe2d629f8 100644 --- a/packages/nuxt/src/generators/application/lib/normalize-options.ts +++ b/packages/nuxt/src/generators/application/lib/normalize-options.ts @@ -76,7 +76,7 @@ export async function normalizeOptions( } as NormalizedSchema; normalized.unitTestRunner ??= 'vitest'; - normalized.e2eTestRunner = normalized.e2eTestRunner ?? 'cypress'; + normalized.e2eTestRunner = normalized.e2eTestRunner ?? 'playwright'; return normalized; } diff --git a/packages/nuxt/src/generators/application/schema.json b/packages/nuxt/src/generators/application/schema.json index 4fedebc6c3..ab2e6a12bf 100644 --- a/packages/nuxt/src/generators/application/schema.json +++ b/packages/nuxt/src/generators/application/schema.json @@ -49,10 +49,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/nx/src/command-line/init/implementation/react/index.ts b/packages/nx/src/command-line/init/implementation/react/index.ts index ae3b6c2bb7..251d958cd1 100644 --- a/packages/nx/src/command-line/init/implementation/react/index.ts +++ b/packages/nx/src/command-line/init/implementation/react/index.ts @@ -165,7 +165,9 @@ function createTempWorkspace(options: NormalizedOptions) { options.isVite ? 'vite' : 'webpack' } --packageManager=${options.packageManager} ${ options.nxCloud ? '--nxCloud=yes' : '--nxCloud=skip' - } ${options.addE2e ? '--e2eTestRunner=cypress' : '--e2eTestRunner=none'}`, + } ${ + options.addE2e ? '--e2eTestRunner=playwright' : '--e2eTestRunner=none' + }`, { stdio: [0, 1, 2] } ); diff --git a/packages/react-native/src/generators/application/schema.json b/packages/react-native/src/generators/application/schema.json index df99407ca4..ff383d32b2 100644 --- a/packages/react-native/src/generators/application/schema.json +++ b/packages/react-native/src/generators/application/schema.json @@ -75,8 +75,8 @@ "e2eTestRunner": { "description": "Adds the specified e2e test runner.", "type": "string", - "enum": ["cypress", "playwright", "detox", "none"], - "default": "cypress" + "enum": ["playwright", "cypress", "detox", "none"], + "default": "playwright" }, "install": { "type": "boolean", diff --git a/packages/react/package.json b/packages/react/package.json index 3a03649a11..033a64335c 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -2,7 +2,7 @@ "name": "@nx/react", "version": "0.0.1", "private": false, - "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The React plugin for Nx contains executors and generators for managing React applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, components, hooks, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "repository": { "type": "git", "url": "https://github.com/nrwl/nx.git", diff --git a/packages/react/src/generators/application/lib/normalize-options.ts b/packages/react/src/generators/application/lib/normalize-options.ts index 22ca3717d8..50fb57d440 100644 --- a/packages/react/src/generators/application/lib/normalize-options.ts +++ b/packages/react/src/generators/application/lib/normalize-options.ts @@ -121,7 +121,7 @@ export async function normalizeOptions( normalized.compiler = normalized.compiler ?? 'babel'; normalized.bundler = normalized.bundler ?? 'webpack'; normalized.unitTestRunner = normalized.unitTestRunner ?? 'jest'; - normalized.e2eTestRunner = normalized.e2eTestRunner ?? 'cypress'; + normalized.e2eTestRunner = normalized.e2eTestRunner ?? 'playwright'; normalized.inSourceTests = normalized.minimal || normalized.inSourceTests; normalized.devServerPort ??= findFreePort(host); normalized.minimal = normalized.minimal ?? false; diff --git a/packages/react/src/generators/application/schema.json b/packages/react/src/generators/application/schema.json index 7152a9197a..b49141f679 100644 --- a/packages/react/src/generators/application/schema.json +++ b/packages/react/src/generators/application/schema.json @@ -122,10 +122,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/react/src/generators/host/schema.json b/packages/react/src/generators/host/schema.json index 07765493c7..5ba715d292 100644 --- a/packages/react/src/generators/host/schema.json +++ b/packages/react/src/generators/host/schema.json @@ -103,10 +103,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/react/src/generators/remote/schema.json b/packages/react/src/generators/remote/schema.json index 0252f9ed35..2da45f3480 100644 --- a/packages/react/src/generators/remote/schema.json +++ b/packages/react/src/generators/remote/schema.json @@ -109,10 +109,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/remix/package.json b/packages/remix/package.json index c5313086fc..fdb7158da2 100644 --- a/packages/remix/package.json +++ b/packages/remix/package.json @@ -1,7 +1,7 @@ { "name": "@nx/remix", "version": "0.0.1", - "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, routes, loaders, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "repository": { "type": "git", "url": "https://github.com/nrwl/nx.git", diff --git a/packages/remix/src/generators/application/schema.json b/packages/remix/src/generators/application/schema.json index 19a58fdba6..2c0c86716b 100644 --- a/packages/remix/src/generators/application/schema.json +++ b/packages/remix/src/generators/application/schema.json @@ -45,8 +45,8 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], - "default": "cypress", + "enum": ["playwright", "cypress", "none"], + "default": "playwright", "description": "Test runner to use for e2e tests", "x-prompt": "Which E2E test runner would you like to use?" }, diff --git a/packages/vue/package.json b/packages/vue/package.json index 4e3425fe5f..de028436fb 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -2,7 +2,7 @@ "name": "@nx/vue", "version": "0.0.1", "private": false, - "description": "The Vue plugin for Nx contains executors and generators for managing Vue applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Vue plugin for Nx contains executors and generators for managing Vue applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Vitest, Playwright, Cypress, and Storybook.\n\n- Generators for applications, libraries, and more.\n\n- Library build support for publishing packages to npm or other registries.\n\n- Utilities for automatic workspace refactoring.", "repository": { "type": "git", "url": "https://github.com/nrwl/nx.git", diff --git a/packages/vue/src/generators/application/__snapshots__/application.spec.ts.snap b/packages/vue/src/generators/application/__snapshots__/application.spec.ts.snap index 901bdec5ef..67922085ab 100644 --- a/packages/vue/src/generators/application/__snapshots__/application.spec.ts.snap +++ b/packages/vue/src/generators/application/__snapshots__/application.spec.ts.snap @@ -135,16 +135,13 @@ exports[`application generator should set up project correctly with given option ".eslintrc.json", ".prettierignore", ".prettierrc", + ".vscode/extensions.json", "nx.json", "package.json", "test-e2e/.eslintrc.json", - "test-e2e/cypress.config.ts", + "test-e2e/playwright.config.ts", "test-e2e/project.json", - "test-e2e/src/e2e/app.cy.ts", - "test-e2e/src/fixtures/example.json", - "test-e2e/src/support/app.po.ts", - "test-e2e/src/support/commands.ts", - "test-e2e/src/support/e2e.ts", + "test-e2e/src/example.spec.ts", "test-e2e/tsconfig.json", "test/.eslintrc.json", "test/index.html", diff --git a/packages/vue/src/generators/application/lib/normalize-options.ts b/packages/vue/src/generators/application/lib/normalize-options.ts index a9203ba5d3..8105c051d3 100644 --- a/packages/vue/src/generators/application/lib/normalize-options.ts +++ b/packages/vue/src/generators/application/lib/normalize-options.ts @@ -50,7 +50,7 @@ export async function normalizeOptions( normalized.style = options.style ?? 'css'; normalized.routing = normalized.routing ?? false; normalized.unitTestRunner ??= 'vitest'; - normalized.e2eTestRunner = normalized.e2eTestRunner ?? 'cypress'; + normalized.e2eTestRunner = normalized.e2eTestRunner ?? 'playwright'; return normalized; } diff --git a/packages/vue/src/generators/application/schema.json b/packages/vue/src/generators/application/schema.json index c77030db0b..d1cba1bbee 100644 --- a/packages/vue/src/generators/application/schema.json +++ b/packages/vue/src/generators/application/schema.json @@ -97,10 +97,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "description": "Test runner to use for end to end (E2E) tests.", "x-prompt": "Which E2E test runner would you like to use?", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/web/package.json b/packages/web/package.json index bf5dca7662..6f46a5f8ef 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -2,7 +2,7 @@ "name": "@nx/web", "version": "0.0.1", "private": false, - "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", + "description": "The Nx Plugin for Web Components contains generators for managing Web Component applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Playwright, Cypress, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.", "repository": { "type": "git", "url": "https://github.com/nrwl/nx.git", diff --git a/packages/web/src/generators/application/application.spec.ts b/packages/web/src/generators/application/application.spec.ts index 260a068411..6d7a0f0de4 100644 --- a/packages/web/src/generators/application/application.spec.ts +++ b/packages/web/src/generators/application/application.spec.ts @@ -85,7 +85,7 @@ describe('app', () => { expect(tsconfigApp.compilerOptions.outDir).toEqual('../dist/out-tsc'); expect(tsconfigApp.extends).toEqual('./tsconfig.json'); - expect(tree.exists('my-app-e2e/cypress.config.ts')).toBeTruthy(); + expect(tree.exists('my-app-e2e/playwright.config.ts')).toBeTruthy(); const tsconfigE2E = readJson(tree, 'my-app-e2e/tsconfig.json'); expect(tsconfigE2E).toMatchInlineSnapshot(` { @@ -94,19 +94,17 @@ describe('app', () => { "module": "commonjs", "outDir": "../dist/out-tsc", "sourceMap": false, - "types": [ - "cypress", - "node", - ], }, "extends": "../tsconfig.base.json", "include": [ "**/*.ts", "**/*.js", - "cypress.config.ts", - "**/*.cy.ts", - "**/*.cy.js", - "**/*.d.ts", + "playwright.config.ts", + "src/**/*.spec.ts", + "src/**/*.spec.js", + "src/**/*.test.ts", + "src/**/*.test.js", + "src/**/*.d.ts", ], } `); @@ -181,7 +179,7 @@ describe('app', () => { path: './tsconfig.spec.json', }, ]); - expect(tree.exists('my-app-e2e/cypress.config.ts')).toBeTruthy(); + expect(tree.exists('my-app-e2e/playwright.config.ts')).toBeTruthy(); expect(tree.exists('my-app/index.html')).toBeTruthy(); expect(tree.exists('my-app/vite.config.ts')).toBeTruthy(); expect(tree.exists(`my-app/environments/environment.ts`)).toBeFalsy(); diff --git a/packages/web/src/generators/application/application.ts b/packages/web/src/generators/application/application.ts index ebf19ddb3f..cac278d770 100644 --- a/packages/web/src/generators/application/application.ts +++ b/packages/web/src/generators/application/application.ts @@ -380,6 +380,7 @@ export async function applicationGeneratorInternal(host: Tree, schema: Schema) { sourceRoot: joinPathFragments(options.e2eProjectRoot, 'src'), projectType: 'application', targets: {}, + tags: [], implicitDependencies: [options.projectName], }); const playwrightTask = await playwrightConfigGenerator(host, { @@ -528,7 +529,7 @@ async function normalizeOptions( options.style = options.style || 'css'; options.linter = options.linter || ('eslint' as Linter.EsLint); options.unitTestRunner = options.unitTestRunner || 'jest'; - options.e2eTestRunner = options.e2eTestRunner || 'cypress'; + options.e2eTestRunner = options.e2eTestRunner || 'playwright'; return { ...options, diff --git a/packages/web/src/generators/application/schema.json b/packages/web/src/generators/application/schema.json index 53bdc5d184..28e29cac51 100644 --- a/packages/web/src/generators/application/schema.json +++ b/packages/web/src/generators/application/schema.json @@ -87,10 +87,10 @@ }, "e2eTestRunner": { "type": "string", - "enum": ["cypress", "playwright", "none"], + "enum": ["playwright", "cypress", "none"], "x-prompt": "Which E2E test runner would you like to use?", "description": "Test runner to use for end to end (e2e) tests", - "default": "cypress" + "default": "playwright" }, "tags": { "type": "string", diff --git a/packages/workspace/src/generators/new/schema.json b/packages/workspace/src/generators/new/schema.json index 1720dab56e..a8ce0448a7 100644 --- a/packages/workspace/src/generators/new/schema.json +++ b/packages/workspace/src/generators/new/schema.json @@ -76,7 +76,7 @@ "e2eTestRunner": { "description": "The tool to use for running e2e tests.", "type": "string", - "enum": ["cypress", "playwright", "jest", "detox", "none"] + "enum": ["playwright", "cypress", "jest", "detox", "none"] }, "ssr": { "description": "Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.", diff --git a/packages/workspace/src/generators/preset/preset.ts b/packages/workspace/src/generators/preset/preset.ts index df573568a0..fcdfe9fc22 100644 --- a/packages/workspace/src/generators/preset/preset.ts +++ b/packages/workspace/src/generators/preset/preset.ts @@ -36,7 +36,7 @@ async function createPreset(tree: Tree, options: Schema) { linter: options.linter, standalone: options.standaloneApi, routing: options.routing, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', bundler: options.bundler, ssr: options.ssr, prefix: options.prefix, @@ -55,7 +55,7 @@ async function createPreset(tree: Tree, options: Schema) { routing: options.routing, rootProject: true, standalone: options.standaloneApi, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', bundler: options.bundler, ssr: options.ssr, prefix: options.prefix, @@ -71,7 +71,7 @@ async function createPreset(tree: Tree, options: Schema) { style: options.style, linter: options.linter, bundler: options.bundler ?? 'webpack', - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', addPlugin, }); } else if (options.preset === Preset.ReactStandalone) { @@ -86,7 +86,7 @@ async function createPreset(tree: Tree, options: Schema) { linter: options.linter, rootProject: true, bundler: options.bundler ?? 'vite', - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', unitTestRunner: options.bundler === 'vite' ? 'vitest' : 'jest', addPlugin, }); @@ -99,7 +99,7 @@ async function createPreset(tree: Tree, options: Schema) { directory: join('apps', options.name), projectNameAndRootFormat: 'as-provided', linter: options.linter, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', unitTestRunner: 'vitest', addPlugin, }); @@ -112,7 +112,7 @@ async function createPreset(tree: Tree, options: Schema) { directory: '.', projectNameAndRootFormat: 'as-provided', linter: options.linter, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', rootProject: true, unitTestRunner: 'vitest', addPlugin, @@ -127,7 +127,7 @@ async function createPreset(tree: Tree, options: Schema) { projectNameAndRootFormat: 'as-provided', style: options.style, linter: options.linter, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', addPlugin, }); } else if (options.preset === Preset.VueStandalone) { @@ -141,7 +141,7 @@ async function createPreset(tree: Tree, options: Schema) { style: options.style, linter: options.linter, rootProject: true, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', unitTestRunner: 'vitest', addPlugin, }); @@ -155,7 +155,7 @@ async function createPreset(tree: Tree, options: Schema) { projectNameAndRootFormat: 'as-provided', style: options.style, linter: options.linter, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', addPlugin, }); } else if (options.preset === Preset.NuxtStandalone) { @@ -169,7 +169,7 @@ async function createPreset(tree: Tree, options: Schema) { style: options.style, linter: options.linter, rootProject: true, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', unitTestRunner: 'vitest', addPlugin, }); @@ -185,7 +185,7 @@ async function createPreset(tree: Tree, options: Schema) { linter: options.linter, appDir: options.nextAppDir, src: options.nextSrcDir, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', addPlugin, }); } else if (options.preset === Preset.NextJsStandalone) { @@ -199,7 +199,7 @@ async function createPreset(tree: Tree, options: Schema) { linter: options.linter, appDir: options.nextAppDir, src: options.nextSrcDir, - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', rootProject: true, addPlugin, }); @@ -214,7 +214,7 @@ async function createPreset(tree: Tree, options: Schema) { style: options.style, linter: options.linter, bundler: 'vite', - e2eTestRunner: options.e2eTestRunner ?? 'cypress', + e2eTestRunner: options.e2eTestRunner ?? 'playwright', addPlugin, }); } else if (options.preset === Preset.Nest) { diff --git a/packages/workspace/src/generators/preset/schema.json b/packages/workspace/src/generators/preset/schema.json index 9c0b8718e0..62ca598e33 100644 --- a/packages/workspace/src/generators/preset/schema.json +++ b/packages/workspace/src/generators/preset/schema.json @@ -93,7 +93,7 @@ "e2eTestRunner": { "description": "The tool to use for running e2e tests.", "type": "string", - "enum": ["cypress", "playwright", "jest", "detox", "none"] + "enum": ["playwright", ",cypress", "jest", "detox", "none"] }, "ssr": { "description": "Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.",