gpc-remove-duplicates
Version:
This GherKing Precompiler is responsible for having only a reasonable amount of tags and/or rows in each feature file.
66 lines (50 loc) • 2.4 kB
Markdown
    
```javascript
'use strict';
const compiler = require('gherking');
const RemoveDuplicates = require('gpc-remove-duplicates');
let ast = await compiler.load('./features/src/login.feature');
ast = compiler.process(
ast,
new RemoveDuplicates({
// config
})
);
await compiler.save('./features/dist/login.feature', ast, {
lineBreak: '\r\n'
});
```
```typescript
'use strict';
import {load, process, save} from "gherking";
import RemoveDuplicates from "gpc-remove-duplicates";
let ast = await load("./features/src/login.feature");
ast = process(
ast,
new RemoveDuplicates({
// config
})
);
await save('./featuresdist/login.feature', ast, {
lineBreak: '\r\n'
});
```
The RemoveDuplicates precompiler is responsible for having only a reasonable amount of tags and/or rows in each feature file.
It can proceed with the following actions:
1. Removes tags from Rule/Scenario/ScenarioOutline/Examples which exists on parent (Feature/Rule/ScenarioOutline) too.
1. Removes duplicate tags from Feature/Rule/Scenario/ScearioOutline/Examples.
1. Removes duplicate rows from Examples and step DataTables.
## Configuration
RemoveDuplicateRows accepts the following configuration:
| Option | Type | Description | Default |
|:------:|:----:|:------------|:--------|
| `processTags` | `boolean` | It indicates whether the 1st and 2nd options should be applied. | `true` |
| `processRows` | `boolean` | It indicates whether the 3rd option should be applied. | `false` |
## Other
This package uses [debug](https://www.npmjs.com/package/debug) for logging, use `gpc:remove-duplicates` :
```shell
DEBUG=gpc:remove-duplicates* gherking ...
```
For detailed documentation see the [TypeDocs documentation](https://gherking.github.io/gpc-remove-duplicates/).