From f3173f4d52bf4e919d81b94e375e7309ea21cf6e Mon Sep 17 00:00:00 2001 From: David Goss Date: Tue, 25 Feb 2020 15:20:22 +0000 Subject: [PATCH 01/10] add `countOutlineExamples` option to max-scenarios-per-file rule --- src/rules/max-scenarios-per-file.js | 5 +++-- test/rules/max-scenarios-per-file/max-scenarios-per-file.js | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/rules/max-scenarios-per-file.js b/src/rules/max-scenarios-per-file.js index c736e3f9..f3c30a45 100644 --- a/src/rules/max-scenarios-per-file.js +++ b/src/rules/max-scenarios-per-file.js @@ -2,7 +2,8 @@ var _ = require('lodash'); var rule = 'max-scenarios-per-file'; var defaultConfig = { - 'maxScenarios': 10 + 'maxScenarios': 10, + 'countOutlineExamples': true }; function maxScenariosPerFile(feature, unused, config) { @@ -19,7 +20,7 @@ function maxScenariosPerFile(feature, unused, config) { count = count - 1; } - if (scenario.examples) { + if (scenario.examples && mergedConfiguration.countOutlineExamples) { count = count - 1; scenario.examples.forEach(function (example) { if (example.tableBody) { diff --git a/test/rules/max-scenarios-per-file/max-scenarios-per-file.js b/test/rules/max-scenarios-per-file/max-scenarios-per-file.js index e5b4c1b5..343ad0a5 100644 --- a/test/rules/max-scenarios-per-file/max-scenarios-per-file.js +++ b/test/rules/max-scenarios-per-file/max-scenarios-per-file.js @@ -13,4 +13,9 @@ describe('Max Scenarios per File rule', function () { runTest('max-scenarios-per-file/TooManyScenarios.feature', { maxScenarios: 10 }, [{ messageElements: { variable: 11 }, line: 0 }]); runTest('max-scenarios-per-file/TooManyExamples.feature', { maxScenarios: 10 }, [{ messageElements: { variable: 11 }, line: 0 }]); }); + + it('considers a scenario outline with many examples to be one scenario when "newThing" is on', function () { + runTest('max-scenarios-per-file/TooManyScenarios.feature', { maxScenarios: 10, countOutlineExamples: false }, [{ messageElements: { variable: 11 }, line: 0 }]); + runTest('max-scenarios-per-file/TooManyExamples.feature', { maxScenarios: 10, countOutlineExamples: false }, []); + }); }); From c544d232c70c0d664f921bd8c81e37b1e25c5cc8 Mon Sep 17 00:00:00 2001 From: David Goss Date: Tue, 25 Feb 2020 15:26:01 +0000 Subject: [PATCH 02/10] update doc for max-scenarios-per-file rule configuration --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 94fd2141..6b34145f 100644 --- a/README.md +++ b/README.md @@ -151,14 +151,17 @@ This feature is able to handle all localizations of the gherkin steps. ### max-scenarios-per-file -`max-scenarios-per-file` rule can be configured to set the number of max scenarios per file. The configuration looks like this: +The `max-scenarios-per-file` supports some configuration options: + +- `maxScenarios` (number) the maximum scenarios per file after which the rule fails - defaults to `10` +- `countOutlineExamples` (boolean) whether to count every example row for a Scenario Outline, as opposed to just 1 for the whole block - defaults to `true` + +The configuration looks like this (showing the defaults): ``` { - "max-scenarios-per-file": {"on", {"maxScenarios": 10}} + "max-scenarios-per-file": {"on", {"maxScenarios": 10, "countOutlineExamples": true}} } ``` -The default value is 10. - ### name-length From 3bb4bcde1966f8d2c75f8dfa9d16b4f728bf5558 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 13 Mar 2020 22:40:38 +0000 Subject: [PATCH 03/10] Bump acorn from 6.1.0 to 6.4.1 Bumps [acorn](https://github.com/acornjs/acorn) from 6.1.0 to 6.4.1. - [Release notes](https://github.com/acornjs/acorn/releases) - [Commits](https://github.com/acornjs/acorn/compare/6.1.0...6.4.1) Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 20f70107..203e7f78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2030,9 +2030,9 @@ "dev": true }, "acorn": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz", - "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true }, "acorn-jsx": { @@ -4991,7 +4991,7 @@ "dependencies": { "commander": { "version": "2.15.1", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", "dev": true }, From ec766bbe30680034e8b108e593fdf565f98aa9a0 Mon Sep 17 00:00:00 2001 From: Alexander Bayandin Date: Fri, 20 Mar 2020 19:28:20 +0000 Subject: [PATCH 04/10] Ignore directories with *.feature name --- src/feature-finder.js | 5 ++++- test/feature-finder/feature-finder.js | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/feature-finder.js b/src/feature-finder.js index a0c7a375..a0a39383 100644 --- a/src/feature-finder.js +++ b/src/feature-finder.js @@ -37,7 +37,10 @@ function getFeatureFiles(args, ignoreArg) { return; // This line will only be hit by tests that stub process.exit } - var globOptions = {ignore: getIgnorePatterns(ignoreArg)}; + var globOptions = { + ignore: getIgnorePatterns(ignoreArg), + nodir: true, + }; files = files.concat(glob.sync(fixedPattern, globOptions)); }); return _.uniq(files); diff --git a/test/feature-finder/feature-finder.js b/test/feature-finder/feature-finder.js index 63aa2172..76567a83 100644 --- a/test/feature-finder/feature-finder.js +++ b/test/feature-finder/feature-finder.js @@ -19,6 +19,8 @@ describe('Feature finder', function() { }, 'feature': { 'f.txt': '' + }, + 'directory.feature': { } }); }); From 379117be157463b40968df9d1cd5deadefd1a5a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Mon, 23 Mar 2020 17:19:12 +0100 Subject: [PATCH 05/10] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 94fd2141..35b40eb7 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Or check this: | `no-unnamed-scenarios` | Disallows empty Scenario name | | `no-unused-variables` | Disallows unused variables in scenario outlines | | [`scenario-size`](#scenario-size) | Allows restricting the maximum number of steps in a scenario, scenario outline and background | -| `one-space-between-tags` | Tags on the same time must be separated by a single space | +| `one-space-between-tags` | Tags on the same line must be separated by a single space | | `use-and` | Disallows repeated step names requiring use of And instead | \* These rules cannot be turned off because they detect undocumented cucumber functionality that causes the [gherkin](https://github.com/cucumber/gherkin-javascript) parser to crash. From 44d8afcaa0e8c87b495fe11087138c188f69b969 Mon Sep 17 00:00:00 2001 From: vsiakka Date: Mon, 23 Mar 2020 23:43:17 +0200 Subject: [PATCH 06/10] Add bayandin as a contributor, fix vulnerabilities and fix a typo in a test --- package-lock.json | 217 +++++++----------- package.json | 4 + .../max-scenarios-per-file.js | 2 +- 3 files changed, 91 insertions(+), 132 deletions(-) diff --git a/package-lock.json b/package-lock.json index 203e7f78..c43e5b14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2217,7 +2217,7 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://artifacts.riotgames.com:443/artifactory/api/npm/npm/balanced-match/-/balanced-match-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { @@ -2296,6 +2296,16 @@ "dev": true, "optional": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://artifacts.riotgames.com:443/artifactory/api/npm/npm/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2429,7 +2439,7 @@ }, "check-error": { "version": "1.0.2", - "resolved": "https://artifacts.riotgames.com:443/artifactory/api/npm/npm/check-error/-/check-error-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, @@ -2646,9 +2656,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -3265,6 +3275,13 @@ "flat-cache": "^2.0.1" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -3395,14 +3412,15 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", + "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", "dev": true, "optional": true, "requires": { + "bindings": "^1.5.0", "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" + "node-pre-gyp": "*" }, "dependencies": { "abbrev": { @@ -3450,7 +3468,7 @@ } }, "chownr": { - "version": "1.1.1", + "version": "1.1.4", "bundled": true, "dev": true, "optional": true @@ -3480,7 +3498,7 @@ "optional": true }, "debug": { - "version": "4.1.1", + "version": "3.2.6", "bundled": true, "dev": true, "optional": true, @@ -3507,12 +3525,12 @@ "optional": true }, "fs-minipass": { - "version": "1.2.5", + "version": "1.2.7", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -3538,7 +3556,7 @@ } }, "glob": { - "version": "7.1.3", + "version": "7.1.6", "bundled": true, "dev": true, "optional": true, @@ -3567,7 +3585,7 @@ } }, "ignore-walk": { - "version": "3.0.1", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true, @@ -3586,7 +3604,7 @@ } }, "inherits": { - "version": "2.0.3", + "version": "2.0.4", "bundled": true, "dev": true, "optional": true @@ -3622,13 +3640,13 @@ } }, "minimist": { - "version": "0.0.8", + "version": "1.2.5", "bundled": true, "dev": true, "optional": true }, "minipass": { - "version": "2.3.5", + "version": "2.9.0", "bundled": true, "dev": true, "optional": true, @@ -3638,42 +3656,42 @@ } }, "minizlib": { - "version": "1.2.1", + "version": "1.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mkdirp": { - "version": "0.5.1", + "version": "0.5.3", "bundled": true, "dev": true, "optional": true, "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.5" } }, "ms": { - "version": "2.1.1", + "version": "2.1.2", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.3.0", + "version": "2.3.3", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^4.1.0", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.12.0", + "version": "0.14.0", "bundled": true, "dev": true, "optional": true, @@ -3687,11 +3705,11 @@ "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^4" + "tar": "^4.4.2" } }, "nopt": { - "version": "4.0.1", + "version": "4.0.3", "bundled": true, "dev": true, "optional": true, @@ -3701,19 +3719,29 @@ } }, "npm-bundled": { - "version": "1.0.6", + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.4.1", + "version": "1.4.8", "bundled": true, "dev": true, "optional": true, "requires": { "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" } }, "npmlog": { @@ -3778,7 +3806,7 @@ "optional": true }, "process-nextick-args": { - "version": "2.0.0", + "version": "2.0.1", "bundled": true, "dev": true, "optional": true @@ -3793,18 +3821,10 @@ "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } } }, "readable-stream": { - "version": "2.3.6", + "version": "2.3.7", "bundled": true, "dev": true, "optional": true, @@ -3819,7 +3839,7 @@ } }, "rimraf": { - "version": "2.6.3", + "version": "2.7.1", "bundled": true, "dev": true, "optional": true, @@ -3846,7 +3866,7 @@ "optional": true }, "semver": { - "version": "5.7.0", + "version": "5.7.1", "bundled": true, "dev": true, "optional": true @@ -3899,18 +3919,18 @@ "optional": true }, "tar": { - "version": "4.4.8", + "version": "4.4.13", "bundled": true, "dev": true, "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" + "yallist": "^3.0.3" } }, "util-deprecate": { @@ -3935,7 +3955,7 @@ "optional": true }, "yallist": { - "version": "3.0.3", + "version": "3.1.1", "bundled": true, "dev": true, "optional": true @@ -4050,26 +4070,6 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, - "handlebars": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz", - "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -4154,6 +4154,12 @@ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, + "html-escaper": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.1.tgz", + "integrity": "sha512-hNX23TjWwD3q56HpWjUHOKj1+4KKlnjv9PcmBUYKVpga+2cnb9nDx/B1o0yO4n+RZXZdiNxzx6B24C9aNMTkkQ==", + "dev": true + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -4590,12 +4596,12 @@ } }, "istanbul-reports": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.4.tgz", - "integrity": "sha512-QCHGyZEK0bfi9GR215QSm+NJwFKEShbtc7tfbUdLAEzn3kKhLDDZqvljn8rPZM9v8CEOhzL1nlYoO4r1ryl67w==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", "dev": true, "requires": { - "handlebars": "^4.1.2" + "html-escaper": "^2.0.0" } }, "js-levenshtein": { @@ -4672,9 +4678,9 @@ }, "dependencies": { "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true } } @@ -4692,9 +4698,9 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "optional": true }, @@ -4927,7 +4933,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } @@ -5043,7 +5049,7 @@ }, "ms": { "version": "2.0.0", - "resolved": "https://artifacts.riotgames.com:443/artifactory/api/npm/npm/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, @@ -5086,12 +5092,6 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, "nested-error-stacks": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", @@ -5323,24 +5323,6 @@ "mimic-fn": "^1.0.0" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -6528,33 +6510,6 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, - "uglify-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.5.tgz", - "integrity": "sha512-7L3W+Npia1OCr5Blp4/Vw83tK1mu5gnoIURtT1fUVfQ3Kf8WStWV6NJz0fdoBJZls0KlweruRTLVe6XLafmy5g==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", diff --git a/package.json b/package.json index 2bc279d5..bad53f54 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,10 @@ { "name": "David Goss", "url": "https://github.com/davidjgoss" + }, + { + "name": "Alexander Bayandin", + "url": "https://github.com/bayandin" } ], "main": "dist/main.js", diff --git a/test/rules/max-scenarios-per-file/max-scenarios-per-file.js b/test/rules/max-scenarios-per-file/max-scenarios-per-file.js index 343ad0a5..f47e5fbb 100644 --- a/test/rules/max-scenarios-per-file/max-scenarios-per-file.js +++ b/test/rules/max-scenarios-per-file/max-scenarios-per-file.js @@ -14,7 +14,7 @@ describe('Max Scenarios per File rule', function () { runTest('max-scenarios-per-file/TooManyExamples.feature', { maxScenarios: 10 }, [{ messageElements: { variable: 11 }, line: 0 }]); }); - it('considers a scenario outline with many examples to be one scenario when "newThing" is on', function () { + it('considers a scenario outline with many examples to be one scenario when "countOutlineExamples" is false', function () { runTest('max-scenarios-per-file/TooManyScenarios.feature', { maxScenarios: 10, countOutlineExamples: false }, [{ messageElements: { variable: 11 }, line: 0 }]); runTest('max-scenarios-per-file/TooManyExamples.feature', { maxScenarios: 10, countOutlineExamples: false }, []); }); From a67ec418c475daef3e4ca46450dc3a057b2603f7 Mon Sep 17 00:00:00 2001 From: vsiakka Date: Tue, 24 Mar 2020 00:10:44 +0200 Subject: [PATCH 07/10] 3.4.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c43e5b14..6c1e6d03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "gherkin-lint", - "version": "3.4.0", + "version": "3.4.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index bad53f54..695327c1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gherkin-lint", - "version": "3.4.0", + "version": "3.4.1", "description": "A Gherkin linter/validator written in javascript", "author": "Vasiliki Siakka", "contributors": [ From fbcfb387074e5d8e568f1011344311b9adbde1e6 Mon Sep 17 00:00:00 2001 From: vsiakka Date: Tue, 24 Mar 2020 00:11:44 +0200 Subject: [PATCH 08/10] 3.4.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6c1e6d03..4157abe7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "gherkin-lint", - "version": "3.4.1", + "version": "3.4.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 695327c1..e69219f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gherkin-lint", - "version": "3.4.1", + "version": "3.4.2", "description": "A Gherkin linter/validator written in javascript", "author": "Vasiliki Siakka", "contributors": [ From 338b3fa34b547f35d2142de50e466695f24663fe Mon Sep 17 00:00:00 2001 From: Daniel Widerin Date: Wed, 25 Mar 2020 10:48:23 +0100 Subject: [PATCH 09/10] Fix documentation for max-scenarios-per-file Value for `max-scenarios-per-file` should be a list. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d137e1e..3b7020aa 100644 --- a/README.md +++ b/README.md @@ -159,7 +159,7 @@ The `max-scenarios-per-file` supports some configuration options: The configuration looks like this (showing the defaults): ``` { - "max-scenarios-per-file": {"on", {"maxScenarios": 10, "countOutlineExamples": true}} + "max-scenarios-per-file": ["on", {"maxScenarios": 10, "countOutlineExamples": true}] } ``` From dcff8e8abbe41a9e0bcd47f022bf71d687234ecb Mon Sep 17 00:00:00 2001 From: Daniel Widerin Date: Wed, 25 Mar 2020 11:07:50 +0100 Subject: [PATCH 10/10] Fix no-restricted-patterns docs Fix mixed up braces --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3b7020aa..ffcd3c75 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ All patterns are treated as case insensitive. The rule can be configured like this: ``` { - "no-restricted-patterns": ["on", {[ + "no-restricted-patterns": ["on", { "Global": [ "^globally restricted pattern" ], @@ -109,7 +109,7 @@ The rule can be configured like this: "show last response", "a debugging step" ] - ]}] + }] } ```