All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fix load default config file if argument is not specified. by @Nyaran in #440
- Support custom rules in TypeScript by @Nyaran in #434
- Improve rule no-restricted-patterns allowing to restrict words on steps by @AlexisArteaga13 in #433
- Improve rule keywords-in-logical-order allowing to detect missing keywords by @AlexisArteaga13 in #438
- Fix table-align rule when scaped pipes are present (by @devilj) #363.
- Fix test workflow to use properly different node versions. #367
- Escape pipes in table cells (by @devilj) #357.
- Run tests on node 18 and 19.
- Migrate project to TypeScript.
- Added rules
allow-all-caps
&allow-all-lowercase
#123. - Support warn/error levels for rules. (on is assumed as error). #66
- New cli parameter,
--max-warnings
to configure exit code based on number of warnings. #66 - Added rule
related-tags
.
- Migrated code and tests to pure babel.
- Tests now use sources instead of compiled files.
- Replace mocha-sinon package with direct use.
- Moved dist to build (just bc personal preference).
- Apply language tag to code blocks on README.
- Babel/nyc tweaks.
- Fix
undefined
use onavailableConfig
.
- (internal) Created method
getNodeForPickle
to map nodes and pickles.
- Fix and improve
required-tags
using global.
- Added rule
max-tags-lines
. - Run tests on node 17.
- Added rule
table-align
.
- Improve packaging discarding
.npmignore
and usingfiles
property onpackage.json
. - Improve
indentation
to supportexamples tag
. - Improve
required-tags
rule.- Add options to set required tags for each level.
- Add option to define global tags, to be defined on any level.
- Add options to extend rule and example tags to Scenario when that levels are not present for that Scenario.
- Deprecated the
tags
option, should be replaced byscenario
. - Improved tag checks allowing to force an expression is a RegExp (should be wrapped between slashes), and matching tag completely on string match.
- Allow subset array to include optional required tags.
- Improve formatters:
- xunit: Wrap with testsuites object and add count attribute
- stylish: Add error count to final output
- Run tests on node 15.
- Improve
no-unused-variables
to handle spaces on usage. - Improve
file-name
oncamelCase
to allow acronyms.
- Rename project to gplint.
- Improve console output when using stylish, adding column number and error level.
- Improve rule
no-dupe-scenario-names
allowing to validate scenario names after replace the example variables. - Update Gherkin to the latest version.
All the previous work from https://github.com/vsiakka/gherkin-lint