Skip to content

Commit 480bee0

Browse files
committed
feature: @putout/test: improve support of FlatConfig
1 parent c6fb044 commit 480bee0

File tree

6 files changed

+37
-47
lines changed

6 files changed

+37
-47
lines changed
File renamed without changes.

packages/eslint-plugin-putout/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
"url": "git+https://github.com/coderaiser/putout.git"
1313
},
1414
"exports": {
15-
".": "./lib/index.mjs",
16-
"./config": "./lib/config/index.js"
15+
".": "./lib/index.mjs"
1716
},
1817
"keywords": [
1918
"putout",

packages/eslint-plugin-putout/test/eslint.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import process from 'node:process';
22
import {createTest} from '@putout/test/eslint';
3-
import {configs} from '../lib/index.mjs';
3+
import {configs, recommended} from '../lib/index.mjs';
44

55
const {jsx} = configs;
66

7-
const test = createTest(import.meta.url);
7+
const test = createTest(import.meta.url, recommended);
88

99
test('eslint-plugin-putout: no-resolve: places', async ({comparePlaces}) => {
1010
await comparePlaces('no-unresolved-message', [{
Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,43 @@
11
import {createTest} from '@putout/test/eslint';
22
import {safe, safeRules} from '../../lib/index.mjs';
33

4-
const test = createTest(import.meta.url);
4+
const test = createTest(import.meta.url, safe);
55

66
test('eslint-plugin-putout: safe: no-remove-useless-declaration', async ({process}) => {
7-
await process('no-remove-useless-declaration', [
8-
...safe, {
9-
rules: {
10-
'putout/putout': ['error', {
11-
ignore: ['!**/fixture'],
12-
rules: {
13-
...safeRules,
14-
},
15-
}],
16-
},
7+
await process('no-remove-useless-declaration', {
8+
rules: {
9+
'putout/putout': ['error', {
10+
ignore: ['!**/fixture'],
11+
rules: {
12+
...safeRules,
13+
},
14+
}],
1715
},
18-
]);
16+
});
1917
});
2018

2119
test('eslint-plugin-putout: safe: no-merge-duplicate-functions', async ({noProcess}) => {
22-
await noProcess('no-merge-duplicate-functions', [
23-
...safe, {
24-
rules: {
25-
'putout/putout': ['error', {
26-
ignore: ['!**/fixture'],
27-
rules: {
28-
...safeRules,
29-
},
30-
}],
31-
},
20+
await noProcess('no-merge-duplicate-functions', {
21+
rules: {
22+
'putout/putout': ['error', {
23+
ignore: ['!**/fixture'],
24+
rules: {
25+
...safeRules,
26+
},
27+
}],
3228
},
33-
]);
29+
});
3430
});
3531

3632
test('eslint-plugin-putout: safe: no-remoe-useless-push', async ({noProcess}) => {
37-
await noProcess('no-remove-useless-push', [
38-
...safe, {
39-
rules: {
40-
'putout/putout': ['error', {
41-
ignore: ['!**/fixture'],
42-
rules: {
43-
...safeRules,
44-
},
45-
}],
46-
},
33+
await noProcess('no-remove-useless-push', {
34+
rules: {
35+
'putout/putout': ['error', {
36+
ignore: ['!**/fixture'],
37+
rules: {
38+
...safeRules,
39+
},
40+
}],
4741
},
48-
]);
42+
});
4943
});

packages/test/lib/eslint/eslint.mjs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import tryToCatch from 'try-to-catch';
1515
import {extend} from 'supertape';
1616
import {lint} from '@putout/eslint/lint';
1717
import tryCatch from 'try-catch';
18-
import {recommended} from 'eslint-plugin-putout';
1918

2019
const {keys} = Object;
2120
const {isArray} = Array;
@@ -63,7 +62,8 @@ const read = async (name) => {
6362
return [`${name}.ts`, await readFile(`${name}.ts`, 'utf8')];
6463
};
6564

66-
export const createTest = (url, plugins = {}) => {
65+
export const createTest = (url, config = []) => {
66+
const plugins = config.plugins || config;
6767
const fixtureDir = new URL('fixture', url).pathname;
6868

6969
return extend({
@@ -78,7 +78,7 @@ export const createTest = (url, plugins = {}) => {
7878
fix,
7979
putout: true,
8080
config: [
81-
...recommended,
81+
...config,
8282
...parseOverrides(overrides, '@putout/test: eslint: process: overrides'),
8383
],
8484
});
@@ -104,7 +104,7 @@ export const createTest = (url, plugins = {}) => {
104104
const [source] = await eslint({
105105
name: resolvedName,
106106
config: [
107-
...recommended,
107+
...config,
108108
...parseOverrides(overrides, '@putout/test: eslint: no process: overrides'),
109109
],
110110
code,
@@ -128,7 +128,7 @@ export const createTest = (url, plugins = {}) => {
128128
code,
129129
putout: true,
130130
config: [
131-
...recommended,
131+
...config,
132132
...parseOverrides(overrides, '@putout/test: eslint: compare places: overrides'),
133133
],
134134
});
@@ -172,14 +172,11 @@ export const createTest = (url, plugins = {}) => {
172172
});
173173
};
174174

175-
function parseOverrides(overrides, name) {
175+
function parseOverrides(overrides = [], name) {
176176
const config = {
177177
name,
178178
};
179179

180-
if (!overrides)
181-
return [config];
182-
183180
if (isArray(overrides))
184181
return overrides;
185182

0 commit comments

Comments
 (0)