From eedda967069a665b800fcf95b985424e50c77df6 Mon Sep 17 00:00:00 2001 From: Milos Djermanovic Date: Thu, 15 Feb 2024 19:03:30 +0100 Subject: [PATCH] feat: add `meta` property (#233) --- lib/index.js | 5 +++++ lib/processor.js | 5 +++++ tests/lib/plugin.js | 7 +++++++ tests/lib/processor.js | 7 +++++++ 4 files changed, 24 insertions(+) diff --git a/lib/index.js b/lib/index.js index 47aa0b6..b722d27 100644 --- a/lib/index.js +++ b/lib/index.js @@ -6,6 +6,7 @@ "use strict"; const processor = require("./processor"); +const pkg = require("../package.json"); const rulesConfig = { @@ -31,6 +32,10 @@ const rulesConfig = { }; const plugin = { + meta: { + name: pkg.name, + version: pkg.version + }, processors: { markdown: processor }, diff --git a/lib/processor.js b/lib/processor.js index d5fdc34..4cf6a71 100644 --- a/lib/processor.js +++ b/lib/processor.js @@ -28,6 +28,7 @@ "use strict"; const parse = require("mdast-util-from-markdown"); +const pkg = require("../package.json"); const UNSATISFIABLE_RULES = new Set([ "eol-last", // The Markdown parser strips trailing newlines in code fences @@ -398,6 +399,10 @@ function postprocess(messages, filename) { } module.exports = { + meta: { + name: `${pkg.name}/markdown`, + version: pkg.version + }, preprocess, postprocess, supportsAutofix: SUPPORTS_AUTOFIX diff --git a/tests/lib/plugin.js b/tests/lib/plugin.js index 443a318..9e54866 100644 --- a/tests/lib/plugin.js +++ b/tests/lib/plugin.js @@ -13,6 +13,7 @@ const assert = require("chai").assert; const { LegacyESLint, FlatESLint } = require("eslint/use-at-your-own-risk"); const path = require("path"); const plugin = require("../.."); +const pkg = require("../../package.json"); //----------------------------------------------------------------------------- // Helpers @@ -55,6 +56,12 @@ function initFlatESLint(fixtureConfigName, options = {}) { // Tests //----------------------------------------------------------------------------- +describe("meta", () => { + it("should export meta property", () => { + assert.deepStrictEqual(plugin.meta, { name: "eslint-plugin-markdown", version: pkg.version }); + }); +}); + describe("LegacyESLint", () => { diff --git a/tests/lib/processor.js b/tests/lib/processor.js index fc45285..629c448 100644 --- a/tests/lib/processor.js +++ b/tests/lib/processor.js @@ -7,9 +7,16 @@ const assert = require("chai").assert; const processor = require("../../lib/processor"); +const pkg = require("../../package.json"); describe("processor", () => { + describe("meta", () => { + it("should have meta property", () => { + assert.deepStrictEqual(processor.meta, { name: "eslint-plugin-markdown/markdown", version: pkg.version }); + }); + }); + describe("preprocess", () => { it("should not crash", () => {