@putout/test 11.3.2 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/eslint/eslint.mjs +27 -20
- package/lib/processor/index.js +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -94,7 +94,7 @@ test('remove debugger: report', (t) => {
|
|
|
94
94
|
Check transform of `filename.js` -> `filename-fix.js` in `test/fixtures` directory:
|
|
95
95
|
|
|
96
96
|
```js
|
|
97
|
-
test('remove useless variables:
|
|
97
|
+
test('remove useless variables: array-from', (t) => {
|
|
98
98
|
t.transform('array-from', {
|
|
99
99
|
'remove-useless-array-from': removeUselessArrayFrom,
|
|
100
100
|
});
|
|
@@ -345,7 +345,7 @@ First you need to create test with:
|
|
|
345
345
|
```js
|
|
346
346
|
import {createTest} from '@putout/test/eslint';
|
|
347
347
|
|
|
348
|
-
const test = createTest(import.meta.url);
|
|
348
|
+
const test = createTest(import.meta.url, config);
|
|
349
349
|
```
|
|
350
350
|
|
|
351
351
|
### `process(filename [, config])`
|
package/lib/eslint/eslint.mjs
CHANGED
|
@@ -38,14 +38,6 @@ const remove = (name) => {
|
|
|
38
38
|
|
|
39
39
|
const getMessage = ({message}) => message;
|
|
40
40
|
|
|
41
|
-
const config = {
|
|
42
|
-
extends: [
|
|
43
|
-
'plugin:n/recommended',
|
|
44
|
-
'plugin:eslint-plugin/recommended',
|
|
45
|
-
'plugin:putout/recommended',
|
|
46
|
-
],
|
|
47
|
-
};
|
|
48
|
-
|
|
49
41
|
const readSync = (name) => {
|
|
50
42
|
const [, data] = tryCatch(readFileSync, `${name}.js`, 'utf8');
|
|
51
43
|
|
|
@@ -70,11 +62,12 @@ const read = async (name) => {
|
|
|
70
62
|
return [`${name}.ts`, await readFile(`${name}.ts`, 'utf8')];
|
|
71
63
|
};
|
|
72
64
|
|
|
73
|
-
export const createTest = (url,
|
|
65
|
+
export const createTest = (url, config = []) => {
|
|
66
|
+
const plugins = config.plugins || config;
|
|
74
67
|
const fixtureDir = new URL('fixture', url).pathname;
|
|
75
68
|
|
|
76
69
|
return extend({
|
|
77
|
-
process: (operator) => async (name,
|
|
70
|
+
process: (operator) => async (name, overrides) => {
|
|
78
71
|
const full = join(fixtureDir, basename(name));
|
|
79
72
|
const [resolvedName, code] = await read(full);
|
|
80
73
|
const fix = true;
|
|
@@ -84,10 +77,10 @@ export const createTest = (url, plugins = {}) => {
|
|
|
84
77
|
code,
|
|
85
78
|
fix,
|
|
86
79
|
putout: true,
|
|
87
|
-
config:
|
|
80
|
+
config: [
|
|
88
81
|
...config,
|
|
89
|
-
...
|
|
90
|
-
|
|
82
|
+
...parseOverrides(overrides, '@putout/test: eslint: process: overrides'),
|
|
83
|
+
],
|
|
91
84
|
});
|
|
92
85
|
|
|
93
86
|
const fixtureName = `${full}-fix`;
|
|
@@ -110,10 +103,10 @@ export const createTest = (url, plugins = {}) => {
|
|
|
110
103
|
|
|
111
104
|
const [source] = await eslint({
|
|
112
105
|
name: resolvedName,
|
|
113
|
-
config:
|
|
106
|
+
config: [
|
|
114
107
|
...config,
|
|
115
|
-
...overrides,
|
|
116
|
-
|
|
108
|
+
...parseOverrides(overrides, '@putout/test: eslint: no process: overrides'),
|
|
109
|
+
],
|
|
117
110
|
code,
|
|
118
111
|
putout: true,
|
|
119
112
|
fix,
|
|
@@ -126,7 +119,7 @@ export const createTest = (url, plugins = {}) => {
|
|
|
126
119
|
|
|
127
120
|
return operator.equal(source, code);
|
|
128
121
|
},
|
|
129
|
-
comparePlaces: (operator) => async (name, expected,
|
|
122
|
+
comparePlaces: (operator) => async (name, expected, overrides) => {
|
|
130
123
|
const full = join(fixtureDir, name);
|
|
131
124
|
const [resolvedName, code] = await read(full);
|
|
132
125
|
|
|
@@ -134,10 +127,10 @@ export const createTest = (url, plugins = {}) => {
|
|
|
134
127
|
name: resolvedName,
|
|
135
128
|
code,
|
|
136
129
|
putout: true,
|
|
137
|
-
config:
|
|
130
|
+
config: [
|
|
138
131
|
...config,
|
|
139
|
-
...
|
|
140
|
-
|
|
132
|
+
...parseOverrides(overrides, '@putout/test: eslint: compare places: overrides'),
|
|
133
|
+
],
|
|
141
134
|
});
|
|
142
135
|
|
|
143
136
|
return operator.deepEqual(places, expected);
|
|
@@ -178,3 +171,17 @@ export const createTest = (url, plugins = {}) => {
|
|
|
178
171
|
},
|
|
179
172
|
});
|
|
180
173
|
};
|
|
174
|
+
|
|
175
|
+
function parseOverrides(overrides = [], name) {
|
|
176
|
+
const config = {
|
|
177
|
+
name,
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
if (isArray(overrides))
|
|
181
|
+
return overrides;
|
|
182
|
+
|
|
183
|
+
return [{
|
|
184
|
+
...config,
|
|
185
|
+
...overrides,
|
|
186
|
+
}];
|
|
187
|
+
}
|
package/lib/processor/index.js
CHANGED
|
@@ -15,7 +15,7 @@ const {
|
|
|
15
15
|
const tryToCatch = require('try-to-catch');
|
|
16
16
|
|
|
17
17
|
const test = require('supertape');
|
|
18
|
-
const processFile = require('putout/process-file');
|
|
18
|
+
const processFile = require('@putout/cli-process-file');
|
|
19
19
|
const {runProcessors} = require('@putout/engine-processor');
|
|
20
20
|
|
|
21
21
|
const isStr = (a) => typeof a === 'string';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@putout/test",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "12.0.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",
|
|
6
6
|
"description": "Test runner for 🐊Putout plugins ",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"report": "madrun report"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
+
"@putout/cli-process-file": "^2.0.1",
|
|
41
42
|
"@putout/engine-processor": "*",
|
|
42
43
|
"@putout/engine-runner": "*",
|
|
43
44
|
"@putout/eslint": "^3.0.0",
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
"runner"
|
|
58
59
|
],
|
|
59
60
|
"devDependencies": {
|
|
61
|
+
"@putout/eslint-flat": "^2.0.0",
|
|
60
62
|
"@putout/formatter-dump": "*",
|
|
61
63
|
"@putout/formatter-progress": "*",
|
|
62
64
|
"@putout/plugin-esm": "*",
|
|
@@ -67,8 +69,7 @@
|
|
|
67
69
|
"c8": "^10.0.0",
|
|
68
70
|
"eslint": "^9.0.0",
|
|
69
71
|
"eslint-plugin-n": "^17.0.0",
|
|
70
|
-
"eslint-plugin-putout": "^
|
|
71
|
-
"lerna": "^6.0.1",
|
|
72
|
+
"eslint-plugin-putout": "^24.1.0",
|
|
72
73
|
"madrun": "^10.0.0",
|
|
73
74
|
"mock-require": "^3.0.3",
|
|
74
75
|
"nodemon": "^3.0.1",
|