feat(core-eslint): conformance plugin module + ./plugin export

This commit is contained in:
2026-05-12 23:23:20 +02:00
parent 3117df1c14
commit 8a2c8db955
2 changed files with 29 additions and 1 deletions

View File

@@ -6,7 +6,8 @@
"exports": {
"./base": "./base.js",
"./next": "./next.js",
"./react-internal": "./react-internal.js"
"./react-internal": "./react-internal.js",
"./plugin": "./plugin.js"
},
"scripts": {
"test": "vitest run --passWithNoTests"

View File

@@ -0,0 +1,27 @@
import featureMustHaveManifest from "./rules/feature-must-have-manifest.js";
import usecaseMustHaveTestFile from "./rules/usecase-must-have-test-file.js";
import requiredCoresInstalled from "./rules/required-cores-installed.js";
/**
* The `@repo/core-eslint` conformance plugin. Aggregates custom rules that
* enforce feature-conformance contracts (manifest presence, sibling tests,
* required-cores ↔ workspace consistency).
*
* Registered as the `conformance` plugin in flat config:
*
* import conformancePlugin from "@repo/core-eslint/plugin";
* export default [
* { plugins: { conformance: conformancePlugin } },
* { rules: { "conformance/feature-must-have-manifest": ["warn", { repoRoot: import.meta.dirname }] } },
* ];
*/
const plugin = {
meta: { name: "conformance", version: "0.1.0" },
rules: {
"feature-must-have-manifest": featureMustHaveManifest,
"usecase-must-have-test-file": usecaseMustHaveTestFile,
"required-cores-installed": requiredCoresInstalled,
},
};
export default plugin;