@bahmutov/cy-grep 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,9 +56,6 @@ Table of Contents
56
56
  - [Debugging in the browser](#debugging-in-the-browser)
57
57
  - [Examples](#examples)
58
58
  - [See also](#see-also)
59
- - [Migration guide](#migration-guide)
60
- - [from v1 to v2](#from-v1-to-v2)
61
- - [from v2 to v3](#from-v2-to-v3)
62
59
  - [Small Print](#small-print)
63
60
 
64
61
  <!-- /MarkdownTOC -->
@@ -217,8 +214,6 @@ $ npx cypress run --env grep="-hello world"
217
214
  $ npx cypress run --env grep="hello; -world"
218
215
  ```
219
216
 
220
- **Note:** Inverted title filter is not compatible with the `grepFilterSpecs` option
221
-
222
217
  ## Filter with tags
223
218
 
224
219
  You can select tests to run or skip using tags by passing `--env grepTags=...` value.
@@ -547,30 +542,28 @@ This module uses [debug](https://github.com/visionmedia/debug#readme) to log ver
547
542
 
548
543
  ### Debugging in the plugin
549
544
 
550
- Start Cypress with the environment variable `DEBUG=cypress-grep`. You will see a few messages from this plugin in the terminal output:
545
+ Start Cypress with the environment variable `DEBUG=cy-grep`. You will see a few messages from this plugin in the terminal output:
551
546
 
552
547
  ```
553
- $ DEBUG=cypress-grep npx cypress run --env grep=works,grepFilterSpecs=true
554
- cypress-grep: tests with "works" in their names
555
- cypress-grep: filtering specs using "works" in the title
556
- cypress-grep Cypress config env object: { grep: 'works', grepFilterSpecs: true }
548
+ $ DEBUG=cy-grep npx cypress run --env grep=works,grepFilterSpecs=true
549
+ cy-grep: tests with "works" in their names
550
+ cy-grep: filtering specs using "works" in the title
551
+ cy-grep Cypress config env object: { grep: 'works', grepFilterSpecs: true }
557
552
  ...
558
- cypress-grep found 1 spec files +5ms
559
- cypress-grep [ 'spec.js' ] +0ms
560
- cypress-grep spec file spec.js +5ms
561
- cypress-grep suite and test names: [ 'hello world', 'works', 'works 2 @tag1',
553
+ cy-grep found 1 spec files +5ms
554
+ cy-grep [ 'spec.js' ] +0ms
555
+ cy-grep spec file spec.js +5ms
556
+ cy-grep suite and test names: [ 'hello world', 'works', 'works 2 @tag1',
562
557
  'works 2 @tag1 @tag2', 'works @tag2' ] +0ms
563
- cypress-grep found "works" in 1 specs +0ms
564
- cypress-grep [ 'spec.js' ] +0ms
558
+ cy-grep found "works" in 1 specs +0ms
559
+ cy-grep [ 'spec.js' ] +0ms
565
560
  ```
566
561
 
567
562
  ### Debugging in the browser
568
563
 
569
- To enable debug console messages in the browser, from the DevTools console set `localStorage.debug='cypress-grep'` and run the tests again.
570
-
571
- ![Debug messages](./images/debug.png)
564
+ To enable debug console messages in the browser, from the DevTools console set `localStorage.debug='cy-grep'` and run the tests again.
572
565
 
573
- To see how to debug this plugin, watch the video [Debug cypress-grep Plugin](https://youtu.be/4YMAERddHYA).
566
+ To see how to debug this plugin, watch the video [Debug cypress-grep Plugin](https://youtu.be/4YMAERddHYA) but use the string `cy-grep`
574
567
 
575
568
  ## Examples
576
569
 
@@ -582,37 +575,6 @@ To see how to debug this plugin, watch the video [Debug cypress-grep Plugin](htt
582
575
  - [cypress-select-tests](https://github.com/bahmutov/cypress-select-tests)
583
576
  - [cypress-skip-test](https://github.com/cypress-io/cypress-skip-test)
584
577
 
585
- ## Migration guide
586
-
587
- ### from v1 to v2
588
-
589
- In v2 we have separated grepping by part of the title string from tags.
590
-
591
- **v1**
592
-
593
- ```
594
- --env grep="one two"
595
- ```
596
-
597
- The above scenario was confusing - did you want to find all tests with title containing "one two" or did you want to run tests tagged `one` or `two`?
598
-
599
- **v2**
600
-
601
- ```
602
- # enable the tests with string "one two" in their titles
603
- --env grep="one two"
604
- # enable the tests with tag "one" or "two"
605
- --env grepTags="one two"
606
- # enable the tests with both tags "one" and "two"
607
- --env grepTags="one+two"
608
- # enable the tests with "hello" in the title and tag "smoke"
609
- --env grep=hello,grepTags=smoke
610
- ```
611
-
612
- ### from v2 to v3
613
-
614
- Version >= 3 of cypress-grep _only_ supports Cypress >= 10.
615
-
616
578
  ## Small Print
617
579
 
618
580
  License: MIT - do anything with the code, but don't blame me if it does not work.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bahmutov/cy-grep",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Filter Cypress tests using title or tags",
5
5
  "main": "src/support.js",
6
6
  "scripts": {
@@ -12,15 +12,15 @@
12
12
  "dependencies": {
13
13
  "cypress-plugin-config": "^1.2.0",
14
14
  "debug": "^4.3.2",
15
- "find-test-names": "^1.22.2",
15
+ "find-test-names": "^1.23.0",
16
16
  "globby": "^11.0.4"
17
17
  },
18
18
  "devDependencies": {
19
- "cypress": "12.1.0",
19
+ "cypress": "12.3.0",
20
20
  "cypress-each": "^1.11.0",
21
21
  "cypress-expect": "^2.5.3",
22
22
  "prettier": "^2.8.1",
23
- "semantic-release": "^19.0.5",
23
+ "semantic-release": "^20.0.2",
24
24
  "typescript": "^4.7.4"
25
25
  },
26
26
  "peerDependencies": {
package/src/plugin.js CHANGED
@@ -1,4 +1,4 @@
1
- const debug = require('debug')('cypress-grep')
1
+ const debug = require('debug')('cy-grep')
2
2
  const globby = require('globby')
3
3
  const { getTestNames, findEffectiveTestTags } = require('find-test-names')
4
4
  const fs = require('fs')
@@ -6,7 +6,7 @@ const { version } = require('../package.json')
6
6
  const { parseGrep, shouldTestRun } = require('./utils')
7
7
 
8
8
  /**
9
- * Prints the cypress-grep environment values if any.
9
+ * Prints the cy-grep environment values if any.
10
10
  * @param {Cypress.ConfigOptions} config
11
11
  */
12
12
  function cypressGrepPlugin(config) {
@@ -18,23 +18,23 @@ function cypressGrepPlugin(config) {
18
18
 
19
19
  if (!config.specPattern) {
20
20
  throw new Error(
21
- 'Incompatible versions detected, cypress-grep 3.0.0+ requires Cypress 10.0.0+',
21
+ 'Incompatible versions detected, cy-grep requires Cypress 10.0.0+',
22
22
  )
23
23
  }
24
24
 
25
- debug('cypress-grep plugin version %s', version)
25
+ debug('cy-grep plugin version %s', version)
26
26
  debug('Cypress config env object: %o', env)
27
27
 
28
28
  const grep = env.grep ? String(env.grep) : undefined
29
29
 
30
30
  if (grep) {
31
- console.log('cypress-grep: tests with "%s" in their names', grep.trim())
31
+ console.log('cy-grep: tests with "%s" in their names', grep.trim())
32
32
  }
33
33
 
34
34
  const grepTags = env.grepTags || env['grep-tags']
35
35
 
36
36
  if (grepTags) {
37
- console.log('cypress-grep: filtering using tag(s) "%s"', grepTags)
37
+ console.log('cy-grep: filtering using tag(s) "%s"', grepTags)
38
38
  const parsedGrep = parseGrep(null, grepTags)
39
39
 
40
40
  debug('parsed grep tags %o', parsedGrep.tags)
@@ -43,19 +43,19 @@ function cypressGrepPlugin(config) {
43
43
  const grepBurn = env.grepBurn || env['grep-burn'] || env.burn
44
44
 
45
45
  if (grepBurn) {
46
- console.log('cypress-grep: running filtered tests %d times', grepBurn)
46
+ console.log('cy-grep: running filtered tests %d times', grepBurn)
47
47
  }
48
48
 
49
49
  const grepUntagged = env.grepUntagged || env['grep-untagged']
50
50
 
51
51
  if (grepUntagged) {
52
- console.log('cypress-grep: running untagged tests')
52
+ console.log('cy-grep: running untagged tests')
53
53
  }
54
54
 
55
55
  const omitFiltered = env.grepOmitFiltered || env['grep-omit-filtered']
56
56
 
57
57
  if (omitFiltered) {
58
- console.log('cypress-grep: will omit filtered tests')
58
+ console.log('cy-grep: will omit filtered tests')
59
59
  }
60
60
 
61
61
  const { specPattern, excludeSpecPattern } = config
@@ -78,7 +78,7 @@ function cypressGrepPlugin(config) {
78
78
  let greppedSpecs = []
79
79
 
80
80
  if (grep) {
81
- console.log('cypress-grep: filtering specs using "%s" in the title', grep)
81
+ console.log('cy-grep: filtering specs using "%s" in the title', grep)
82
82
  const parsedGrep = parseGrep(grep)
83
83
 
84
84
  debug('parsed grep %o', parsedGrep)
@@ -123,7 +123,7 @@ function cypressGrepPlugin(config) {
123
123
  debug('spec file %s', specFile)
124
124
  debug('effective test tags %o', testTags)
125
125
  return Object.keys(testTags).some((testTitle) => {
126
- const effectiveTags = testTags[testTitle]
126
+ const effectiveTags = testTags[testTitle].effectiveTags
127
127
  return shouldTestRun(parsedGrep, null, effectiveTags)
128
128
  })
129
129
  } catch (err) {
package/src/support.js CHANGED
@@ -8,7 +8,8 @@ const {
8
8
  getPluginConfigValue,
9
9
  setPluginConfigValue,
10
10
  } = require('cypress-plugin-config')
11
- const debug = require('debug')('@bahmutov/cy-grep')
11
+ // to debug in the browser, set the "localStorage.debug='cy-grep'"
12
+ const debug = require('debug')('cy-grep')
12
13
 
13
14
  debug.log = console.info.bind(console)
14
15
 
@@ -18,7 +19,7 @@ const _describe = describe
18
19
 
19
20
  /**
20
21
  * Wraps the "it" and "describe" functions that support tags.
21
- * @see https://github.com/cypress-io/cypress-grep
22
+ * @see https://github.com/bahmutov/cy-grep
22
23
  */
23
24
  function cypressGrep() {
24
25
  /** @type {string} Part of the test title go grep */
@@ -70,9 +71,8 @@ function cypressGrep() {
70
71
  debug('parsed grep %o', parsedGrep)
71
72
 
72
73
  // prevent multiple registrations
73
- // https://github.com/cypress-io/cypress-grep/issues/59
74
74
  if (it.name === 'itGrep') {
75
- debug('already registered cypress-grep')
75
+ debug('already registered cy-grep')
76
76
 
77
77
  return
78
78
  }
@@ -205,7 +205,6 @@ function cypressGrep() {
205
205
  it.skip = _it.skip
206
206
  it.only = _it.only
207
207
  // preserve "it.each" method if found
208
- // https://github.com/cypress-io/cypress-grep/issues/72
209
208
  if (typeof _it.each === 'function') {
210
209
  it.each = _it.each
211
210
  }
@@ -237,7 +236,6 @@ if (!Cypress.grep) {
237
236
  * // remove all current grep settings
238
237
  * // and run all tests
239
238
  * Cypress.grep()
240
- * @see "Grep from DevTools console" https://github.com/cypress-io/cypress-grep#devtools-console
241
239
  */
242
240
  Cypress.grep = function grep(grep, tags, burn) {
243
241
  setPluginConfigValue('grep', grep)