Skip to content

Commit 11b62f5

Browse files
authored
feat: add "flat/all" config (#446)
* feat: add "flat/all" * Update configs.test.js
1 parent 0b1787b commit 11b62f5

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const rules = require("../rules");
2+
3+
const allRules = Object.keys(rules).reduce((acc, ruleName) => {
4+
acc[`@html-eslint/${ruleName}`] = "error";
5+
return acc;
6+
}, /** @type {Record<string, "error">} */ ({}));
7+
8+
module.exports = {
9+
allRules,
10+
};

packages/eslint-plugin/lib/index.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const {
33
recommendedRules,
44
recommendedLegacyRules,
55
} = require("./configs/recommended");
6+
const { allRules } = require("./configs/all");
67
const { HTMLLanguage } = require("./languages/html-language");
78
const { name, version } = require("../package.json");
89
const parser = require("@html-eslint/parser");
@@ -42,6 +43,18 @@ const plugin = {
4243
},
4344
rules: recommendedLegacyRules,
4445
},
46+
"flat/all": {
47+
plugins: {
48+
/** @type {ESLint.Plugin} */
49+
get "@html-eslint"() {
50+
return plugin;
51+
},
52+
},
53+
languageOptions: {
54+
parser,
55+
},
56+
rules: allRules,
57+
},
4558
},
4659
};
4760

packages/eslint-plugin/tests/configs.test.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const RULES_DIR = path.resolve(__dirname, "../lib/rules");
66
const RULE_TESTS_DIR = path.resolve(__dirname, "./rules");
77
const RULE_DOCS_DIR = path.resolve(__dirname, "../../../docs/rules");
88
const { recommendedLegacyRules } = require("../lib/configs/recommended");
9+
const { allRules } = require("../lib/configs/all");
910

1011
describe("rules", () => {
1112
const exportedRuleNames = Object.keys(exportedRules);
@@ -57,4 +58,16 @@ describe("configs", () => {
5758
expect.arrayContaining(recommendedRules)
5859
);
5960
});
61+
62+
test("all rules should be included in the all config", () => {
63+
const allExportedRules = Object.keys(exportedRules).map(
64+
(name) => `@html-eslint/${name}`
65+
);
66+
expect(Object.keys(allRules)).toEqual(
67+
expect.arrayContaining(allExportedRules)
68+
);
69+
expect(allExportedRules).toEqual(
70+
expect.arrayContaining(Object.keys(allRules))
71+
);
72+
});
6073
});

0 commit comments

Comments
 (0)