Skip to content

Commit eb6088b

Browse files
committed
Fix flat config
Closes #358
1 parent 73dc210 commit eb6088b

File tree

1 file changed

+34
-25
lines changed

1 file changed

+34
-25
lines changed

index.js

+34-25
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
const path = require('node:path');
44
const importModules = require('import-modules');
5+
const {name, version} = require('./package.json');
56

6-
const rules = {
7+
const recommendedRules = {
78
'ava/assertion-arguments': 'error',
89
'ava/hooks-order': 'error',
910
'ava/max-asserts': [
@@ -36,31 +37,39 @@ const rules = {
3637
'ava/use-true-false': 'error',
3738
};
3839

39-
module.exports = {
40+
const plugin = {
41+
meta: {
42+
name,
43+
version,
44+
},
4045
rules: importModules(path.resolve(__dirname, 'rules'), {camelize: false}),
41-
configs: {
42-
recommended: {
43-
env: {
44-
es6: true,
45-
},
46-
parserOptions: {
47-
ecmaVersion: 'latest',
48-
sourceType: 'module',
49-
},
50-
plugins: [
51-
'ava',
52-
],
53-
rules: {
54-
...rules,
55-
},
46+
configs: {},
47+
};
48+
49+
Object.assign(plugin.configs, {
50+
recommended: {
51+
env: {
52+
es6: true,
5653
},
57-
'flat/recommended': {
58-
plugins: {
59-
ava: 'ava',
60-
},
61-
rules: {
62-
...rules,
63-
},
54+
parserOptions: {
55+
ecmaVersion: 'latest',
56+
sourceType: 'module',
57+
},
58+
plugins: [
59+
'ava',
60+
],
61+
rules: {
62+
...recommendedRules,
6463
},
6564
},
66-
};
65+
'flat/recommended': {
66+
plugins: {
67+
ava: plugin,
68+
},
69+
rules: {
70+
...recommendedRules,
71+
},
72+
},
73+
});
74+
75+
module.exports = plugin;

0 commit comments

Comments
 (0)