Skip to content

Commit 2d49645

Browse files
committed
feature: @putout/plugin-filesystem: remove-nyc-output-files: add
1 parent 65502ac commit 2d49645

File tree

9 files changed

+65
-0
lines changed

9 files changed

+65
-0
lines changed

packages/plugin-filesystem/README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ npm i @putout/plugin-filesystem -D
2222
-[read-all-files](#read-all-files)
2323
[rename-file](#rename-file);
2424
-[remove-vim-swap-file](#remove-vim-swap-file);
25+
-[remove-nyc-output-files](#remove-nyc-output-files);
2526
-[remove-files](#remove-files);
2627
-[rename-referenced-file](#rename-referenced-file);
2728
-[rename-spec-to-test](#rename-spec-to-test);
@@ -35,6 +36,7 @@ npm i @putout/plugin-filesystem -D
3536
{
3637
"rules": {
3738
"filesystem/remove-vim-swap-file": "on",
39+
"filesystem/remove-nyc-output-files": "on",
3840
"filesystem/bundle": "off",
3941
"filesystem/read-all-files": ["off", {
4042
"mask": "*"
@@ -106,6 +108,14 @@ It will rename 'test' to 'spec' in `*.test.*` files:
106108
+index.spec.js
107109
```
108110

111+
## remove-nyc-output-files
112+
113+
Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/52d8126f3e41b687c6028852a1925db7/5efcb17493ad5ebe8f1786075a985e1dd35ea59e).
114+
115+
```diff
116+
-.nyc_output
117+
```
118+
109119
## remove-vim-swap-file
110120

111121
Checkout in 🐊[**Putout Editor**](https://putout.cloudcmd.io/#/gist/a495c6782ed8b512f37e757bafd02b08/5d0dc03f6be2653639bb22ea00c3ce91e8454940).

packages/plugin-filesystem/lib/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const replaceCwd = require('./replace-cwd');
1515
const readAllFiles = require('./read-all-files');
1616
const writeAllFiles = require('./write-all-files');
1717
const convertJsToJson = require('./convert-js-to-json');
18+
const removeNycOutputFiles = require('./remove-nyc-output-files');
1819

1920
module.exports.rules = {
2021
'remove-vim-swap-file': removeVimSwapFile,
@@ -32,4 +33,5 @@ module.exports.rules = {
3233
'write-all-files': ['off', writeAllFiles],
3334
'convert-js-to-json': ['off', convertJsToJson],
3435
'convert-json-to-js': ['off', convertJsonToJs],
36+
'remove-nyc-output-files': removeNycOutputFiles,
3537
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
__putout_processor_filesystem(["/"]);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
__putout_processor_filesystem([
2+
'/',
3+
'/.nyc_output/',
4+
'/.nyc_output/hello.json',
5+
]);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
'use strict';
2+
3+
const {operator} = require('putout');
4+
const {removeFile} = operator;
5+
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+
};
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
'use strict';
2+
3+
const {createTest} = require('@putout/test');
4+
const plugin = require('.');
5+
6+
const test = createTest(__dirname, {
7+
plugins: [
8+
['remove-nyc-output-files', plugin],
9+
],
10+
});
11+
12+
test('filesystem: remove-nyc-output-files: report', (t) => {
13+
t.report('remove-nyc-output-files', `Remove '.nyc_output' directory`);
14+
t.end();
15+
});
16+
17+
test('filesystem: remove-nyc-output-files: transform', (t) => {
18+
t.transform('remove-nyc-output-files');
19+
t.end();
20+
});

packages/plugin-filesystem/test/filesystem.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,8 @@ test('plugin-filesystem: no transform: convert-js-to-json-disabled', (t) => {
8383
t.noTransform('convert-js-to-json-disabled');
8484
t.end();
8585
});
86+
87+
test('plugin-filesystem: transform: remove-nyc-output-files', (t) => {
88+
t.transform('remove-nyc-output-files');
89+
t.end();
90+
});
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
__putout_processor_filesystem(["/"]);
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
__putout_processor_filesystem([
2+
'/',
3+
'/.nyc_output/',
4+
'/.nyc_output/hello.json',
5+
]);

0 commit comments

Comments
 (0)