From cf5ebf59d720e93ea78f92d58c69b3d126f9e703 Mon Sep 17 00:00:00 2001 From: Nick Favero Date: Wed, 22 May 2019 15:41:36 -0600 Subject: [PATCH] feat(nx): add in spec option for Cypress Builder Add in spec option to angular.json so it can be passed to they cypress builder --- packages/cypress/src/builders/cypress/cypress.impl.ts | 10 ++++++++-- packages/cypress/src/builders/cypress/schema.json | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/cypress/src/builders/cypress/cypress.impl.ts b/packages/cypress/src/builders/cypress/cypress.impl.ts index e7c1902fb5..9d9ded36be 100644 --- a/packages/cypress/src/builders/cypress/cypress.impl.ts +++ b/packages/cypress/src/builders/cypress/cypress.impl.ts @@ -29,6 +29,7 @@ export interface CypressBuilderOptions extends JsonObject { watch: boolean; browser?: string; env?: Record; + spec?: string; } try { @@ -80,7 +81,8 @@ function run( options.watch, baseUrl, options.browser, - options.env + options.env, + options.spec ) ), options.watch ? tap(noop) : take(1), @@ -187,7 +189,8 @@ function initCypress( isWatching: boolean, baseUrl: string, browser?: string, - env?: Record + env?: Record, + spec?: string ): Observable { // Cypress expects the folder where a `cypress.json` is present const projectFolderPath = path.dirname(cypressConfig); @@ -207,6 +210,9 @@ function initCypress( if (env) { options.env = env; } + if (spec) { + options.spec = spec; + } options.exit = exit; options.headed = !headless; diff --git a/packages/cypress/src/builders/cypress/schema.json b/packages/cypress/src/builders/cypress/schema.json index 9dc0fcd91e..f7b92126e2 100644 --- a/packages/cypress/src/builders/cypress/schema.json +++ b/packages/cypress/src/builders/cypress/schema.json @@ -56,6 +56,10 @@ "env": { "type": "object", "description": "A key-value Pair of environment variables to pass to Cypress runner" + }, + "spec": { + "type": "string", + "description": "A comma delimited glob string that is provided to the Cypress runner to specify which spec files to run. i.e. '**examples/**,**actions.spec**" } }, "additionalProperties": false,