Skip to content

Commit c0f8112

Browse files
committed
feature: @putout/plugin-filesystem: remove-travis-yml-file: add
1 parent 679945f commit c0f8112

File tree

19 files changed

+104
-54
lines changed

19 files changed

+104
-54
lines changed

packages/engine-runner/lib/progress.spec.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ test('putout: runner: progress: start', async (t) => {
3232
}),
3333
]);
3434

35-
t.equal(pluginsCount, 3);
35+
t.equal(pluginsCount, 4);
3636
t.end();
3737
});
3838

@@ -60,7 +60,7 @@ test('putout: runner: progress: end', async (t) => {
6060
}),
6161
]);
6262

63-
t.equal(pluginsCount, 3);
63+
t.equal(pluginsCount, 4);
6464
t.end();
6565
});
6666

@@ -81,6 +81,7 @@ test('putout: runner: progress: push', async (t) => {
8181
runPlugins,
8282
progress,
8383
rules: {
84+
'filesystem': 'off',
8485
'filesystem/remove-files': ['on', {
8586
names: ['coverage'],
8687
}],
@@ -89,6 +90,6 @@ test('putout: runner: progress: push', async (t) => {
8990
}),
9091
]);
9192

92-
t.equal(pluginsCount, 3);
93+
t.equal(pluginsCount, 4);
9394
t.end();
9495
});

packages/operate/lib/properties/traverse-properties.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,6 @@ test('operate: traverse-properties: filesystem', async (t) => {
219219
}),
220220
]);
221221

222-
t.equal(pluginsCount, 3);
222+
t.equal(pluginsIndex, 2);
223223
t.end();
224224
});

packages/plugin-filesystem/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ npm i @putout/plugin-filesystem -D
2121
-[move-referenced-file](#move-referenced-file);
2222
-[read-all-files](#read-all-files)
2323
[rename-file](#rename-file);
24+
-[remove-travis-yml-file](#remove-travis-yml-file);
2425
-[remove-vim-swap-file](#remove-vim-swap-file);
2526
-[remove-nyc-output-files](#remove-nyc-output-files);
2627
-[remove-files](#remove-files);
@@ -35,6 +36,7 @@ npm i @putout/plugin-filesystem -D
3536
```json
3637
{
3738
"rules": {
39+
"filesystem/remove-travis-yml-file": "on",
3840
"filesystem/remove-vim-swap-file": "on",
3941
"filesystem/remove-nyc-output-files": "on",
4042
"filesystem/bundle": "off",
@@ -116,6 +118,14 @@ Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/52d8126f3e
116118
-.nyc_output
117119
```
118120

121+
## remove-travis-yml-file
122+
123+
Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/a495c6782ed8b512f37e757bafd02b08/5d0dc03f6be2653639bb22ea00c3ce91e8454940).
124+
125+
```diff
126+
-.travis.yml
127+
```
128+
119129
## remove-vim-swap-file
120130

121131
Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/a495c6782ed8b512f37e757bafd02b08/5d0dc03f6be2653639bb22ea00c3ce91e8454940).
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
'use strict';
2+
3+
const {operator} = require('putout');
4+
const {isArray} = Array;
5+
const maybeArray = (a) => isArray(a) ? a : [a];
6+
const {removeFile, getFilename} = operator;
7+
8+
const report = (file, {names}) => `Remove '${names}': '${getFilename(file)}'`;
9+
10+
const fix = (file) => {
11+
removeFile(file);
12+
};
13+
14+
module.exports.createRemoveFiles = (defaultNames) => ({
15+
report,
16+
fix,
17+
scan: createScan(defaultNames),
18+
});
19+
20+
const createScan = (defaultNames = []) => (path, {push, trackFile, options}) => {
21+
const {names} = options;
22+
const allNames = [
23+
maybeArray(defaultNames),
24+
maybeArray(names),
25+
]
26+
.flat()
27+
.filter(Boolean);
28+
29+
if (!allNames.length)
30+
return;
31+
32+
for (const file of trackFile(path, allNames)) {
33+
push(file, {
34+
names: allNames,
35+
});
36+
}
37+
};

packages/plugin-filesystem/lib/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const readAllFiles = require('./read-all-files');
1616
const writeAllFiles = require('./write-all-files');
1717
const convertJsToJson = require('./convert-js-to-json');
1818
const removeNycOutputFiles = require('./remove-nyc-output-files');
19+
const removeTravisYmlFile = require('./remove-travis-yml-file');
1920

2021
module.exports.rules = {
2122
'remove-vim-swap-file': removeVimSwapFile,
@@ -34,4 +35,5 @@ module.exports.rules = {
3435
'convert-js-to-json': ['off', convertJsToJson],
3536
'convert-json-to-js': ['off', convertJsonToJs],
3637
'remove-nyc-output-files': removeNycOutputFiles,
38+
'remove-travis-yml-file': removeTravisYmlFile,
3739
};
Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,5 @@
11
'use strict';
22

3-
const {operator} = require('putout');
4-
const {removeFile, getFilename} = operator;
3+
const {createRemoveFiles} = require('../create-remove-files');
54

6-
module.exports.report = (file, {names}) => `Remove file '${names}': '${getFilename(file)}'`;
7-
8-
module.exports.fix = (file) => {
9-
removeFile(file);
10-
};
11-
12-
module.exports.scan = (path, {push, trackFile, options}) => {
13-
const {names} = options;
14-
15-
if (!names)
16-
return;
17-
18-
for (const file of trackFile(path, names)) {
19-
push(file, {
20-
names,
21-
});
22-
}
23-
};
5+
module.exports = createRemoveFiles();

packages/plugin-filesystem/lib/remove-files/index.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ test('packages: remove-files: no report: no-options', (t) => {
1515
});
1616

1717
test('packages: remove-files: report', (t) => {
18-
t.reportWithOptions('remove-files', `Remove file '*.swp': '/home/coderaiser/putout/lib/putout.js.swp'`, {
18+
t.reportWithOptions('remove-files', `Remove '*.swp': '/home/coderaiser/putout/lib/putout.js.swp'`, {
1919
names: ['*.swp'],
2020
});
2121
t.end();
Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,5 @@
11
'use strict';
22

3-
const {operator} = require('putout');
4-
const {removeFile} = operator;
3+
const {createRemoveFiles} = require('../create-remove-files');
54

6-
module.exports.report = () => `Remove '.nyc_output' directory`;
7-
8-
module.exports.fix = (filePath) => {
9-
removeFile(filePath);
10-
};
11-
12-
module.exports.scan = (path, {push, trackFile}) => {
13-
for (const file of trackFile(path, '.nyc_output')) {
14-
push(file);
15-
}
16-
};
5+
module.exports = createRemoveFiles('.nyc_output');

packages/plugin-filesystem/lib/remove-nyc-output-files/index.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const test = createTest(__dirname, {
1010
});
1111

1212
test('filesystem: remove-nyc-output-files: report', (t) => {
13-
t.report('remove-nyc-output-files', `Remove '.nyc_output' directory`);
13+
t.report('remove-nyc-output-files', `Remove '.nyc_output': '/.nyc_output'`);
1414
t.end();
1515
});
1616

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
__putout_processor_filesystem(["/"]);

0 commit comments

Comments
 (0)