@putout/test 11.3.3 → 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 CHANGED
@@ -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])`
@@ -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, plugins = {}) => {
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, override) => {
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
- ...override,
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, override) => {
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
- ...override,
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@putout/test",
3
- "version": "11.3.3",
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 ",
@@ -58,6 +58,7 @@
58
58
  "runner"
59
59
  ],
60
60
  "devDependencies": {
61
+ "@putout/eslint-flat": "^2.0.0",
61
62
  "@putout/formatter-dump": "*",
62
63
  "@putout/formatter-progress": "*",
63
64
  "@putout/plugin-esm": "*",
@@ -68,8 +69,7 @@
68
69
  "c8": "^10.0.0",
69
70
  "eslint": "^9.0.0",
70
71
  "eslint-plugin-n": "^17.0.0",
71
- "eslint-plugin-putout": "^24.0.0",
72
- "lerna": "^6.0.1",
72
+ "eslint-plugin-putout": "^24.1.0",
73
73
  "madrun": "^10.0.0",
74
74
  "mock-require": "^3.0.3",
75
75
  "nodemon": "^3.0.1",