@dougis/markdown-lint-mcp 1.0.2 → 1.0.4

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/CHANGELOG.md CHANGED
@@ -1,16 +1,24 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to the markdownlint-mcp project will be documented in this file.
3
+ All notable changes to the markdown-lint-mcp project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Fixed
11
+ - Fixed MCP `lint_markdown` tool error "Unsupported markdownlint API shape" by refactoring
12
+ loader to support ESM subpath imports (`markdownlint/sync`, `markdownlint/promise`)
13
+ with fallback to legacy module-level exports. Resolves GH-16.
14
+ - Resilient markdownlint loading to support both `sync` and promise/callable shapes;
15
+ fixes `*.sync is not a function` runtime errors (GH-7).
16
+
10
17
  ## [1.0.1] - 2026-01-18
11
18
 
12
19
  ### Fixed
13
- - Correct: Corrected MCP server name to `markdown-lint-mcp` and exported `SERVER_NAME` as the single source-of-truth. (see commit 375b899)
20
+ - Correct: Corrected MCP server name to `markdown-lint-mcp` and exported `SERVER_NAME`
21
+ as the single source-of-truth. (see commit 375b899)
14
22
 
15
23
  ### Changed
16
24
  - **Node.js Minimum Version**: Increased minimum required version from 16.0.0 to 20.0.0
package/CONTRIBUTING.md CHANGED
@@ -1,4 +1,4 @@
1
- # Contributing to markdownlint-mcp
1
+ # Contributing to markdown-lint-mcp
2
2
 
3
3
  Thank you for your interest in contributing to this project! This comprehensive guide will help you get started with development, testing, and contribution workflows.
4
4
 
@@ -51,14 +51,14 @@ Note: Node.js 24.x and 25.x may work, but they are not part of the official CI m
51
51
  ### Step 1: Fork and Clone the Repository
52
52
 
53
53
  ```bash
54
- # Fork on GitHub (visit https://github.com/ernestgwilsonii/markdownlint-mcp)
54
+ # Fork on GitHub (visit https://github.com/dougis-org/markdown-lint-mcp)
55
55
  # Then clone your fork
56
56
  # Use the clone URL shown on your fork's GitHub page (replace YOUR-USERNAME and repo name if you renamed it):
57
- git clone https://github.com/YOUR-USERNAME/markdownlint-mcp.git
58
- cd markdownlint-mcp
57
+ git clone https://github.com/YOUR-USERNAME/markdown-lint-mcp.git
58
+ cd markdown-lint-mcp
59
59
 
60
60
  # Add upstream remote to stay synchronized
61
- git remote add upstream https://github.com/ernestgwilsonii/markdownlint-mcp.git
61
+ git remote add upstream https://github.com/dougis-org/markdown-lint-mcp.git
62
62
  ```
63
63
 
64
64
  ### Step 2: Install All Dependencies
@@ -122,7 +122,7 @@ All three commands should complete successfully without errors.
122
122
  ### Project Structure
123
123
 
124
124
  ```
125
- markdownlint-mcp/
125
+ markdown-lint-mcp/
126
126
  ├── src/ # TypeScript source code
127
127
  │ ├── index.ts # Main MCP server entry point
128
128
  │ ├── tools/ # MCP tool implementations
@@ -282,7 +282,22 @@ Tests are located in the `tests/` directory with `*.test.ts` naming convention.
282
282
 
283
283
  ### Pre-commit Checklist
284
284
 
285
- Before pushing or creating a pull request, ensure:
285
+ **IMPORTANT**: Before pushing any changes, you **MUST** run the pre-push verification command:
286
+
287
+ ```bash
288
+ npm run beforePush
289
+ ```
290
+
291
+ This command runs all required quality gates in sequence:
292
+ - Runs all tests (`npm test`)
293
+ - Validates code with linter (`npm run lint`)
294
+ - Compiles TypeScript (`npm run build`)
295
+
296
+ If any check fails, fix the errors and run again before pushing.
297
+
298
+ ### Individual Quality Checks
299
+
300
+ You can also run quality checks individually:
286
301
 
287
302
  ```bash
288
303
  # 1. Build compiles without errors
@@ -301,7 +316,7 @@ npm run format
301
316
  npm run test:coverage
302
317
  ```
303
318
 
304
- Or run all checks at once:
319
+ Or run tests and lint at once:
305
320
 
306
321
  ```bash
307
322
  npm run prepublishOnly # Runs test and lint
@@ -471,4 +486,4 @@ By contributing to this project, you agree that your contributions will be licen
471
486
 
472
487
  ---
473
488
 
474
- Thank you for contributing to markdownlint-mcp! 🎉
489
+ Thank you for contributing to markdown-lint-mcp! 🎉
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # markdownlint-mcp
1
+ # markdown-lint-mcp
2
2
 
3
3
  A Model Context Protocol (MCP) server for markdown linting, formatting, and compliance checking.
4
4
 
@@ -12,7 +12,7 @@ While many MCP servers exist for converting various file formats **to** Markdown
12
12
 
13
13
  ## Solution
14
14
 
15
- `markdownlint-mcp` bridges this gap by providing:
15
+ `markdown-lint-mcp` bridges this gap by providing:
16
16
 
17
17
  - **Markdown linting** using industry-standard rules
18
18
  - **Automatic fixing** of common Markdown issues
@@ -117,7 +117,7 @@ The following 22 rules (42%) cannot be automatically fixed because they require
117
117
  ## Installation
118
118
 
119
119
  ```bash
120
- npm install markdownlint-mcp
120
+ npm install @dougis/markdown-lint-mcp
121
121
  ```
122
122
 
123
123
  ## Usage
@@ -130,8 +130,8 @@ Add to your Claude Desktop MCP configuration:
130
130
  {
131
131
  "mcpServers": {
132
132
  "markdownlint": {
133
- "command": "npx",
134
- "args": ["markdownlint-mcp"]
133
+ "command": "npx",
134
+ "args": ["@dougis/markdown-lint-mcp"]
135
135
  }
136
136
  }
137
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAE/C,qBAAa,kBAAkB;IAC7B,+CAA+C;IAC/C,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,OAAO,CAAC,MAAM,CAAS;IAEvB;;OAEG;;IA0BH;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkGzB;;;;OAIG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;;;IA+F1C;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;;;;;;IAoN/D;;;OAGG;IACU,gBAAgB;;;;;;IAc7B;;OAEG;IACU,GAAG;CAMjB;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,CAEjD;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAE/C,qBAAa,kBAAkB;IAC7B,+CAA+C;IAC/C,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,OAAO,CAAC,MAAM,CAAS;IAEvB;;OAEG;;IA0BH;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkGzB;;;;OAIG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM;;;;;;IA4F1C;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO;;;;;;IAsM/D;;;OAGG;IACU,gBAAgB;;;;;;IAc7B;;OAEG;IACU,GAAG;CAMjB;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,CAEjD;AAED,eAAe,kBAAkB,CAAC"}
package/dist/server.js CHANGED
@@ -6,6 +6,7 @@ import path from 'path';
6
6
  import { applyRuleFixes, getImplementedRules } from './rules/index.js';
7
7
  import { contentToLines, linesToContent, loadConfiguration, readFile, writeFile, } from './utils/file.js';
8
8
  import logger from './utils/logger.js';
9
+ import { runLint, runFix } from './utils/markdownlint-loader.js';
9
10
  /**
10
11
  * MCP server for markdownlint functionality
11
12
  * Provides tools for linting and fixing markdown files
@@ -136,10 +137,8 @@ export class MarkdownLintServer {
136
137
  const content = await readFile(filePath);
137
138
  // Load configuration (check for .markdownlint.json in file directory or use defaults)
138
139
  const config = await loadConfiguration(path.dirname(filePath));
139
- // Run markdownlint (lazy import to avoid loading ESM into Jest process)
140
- const md = await import('markdownlint');
141
- const markdownlintLocal = md.default ?? md;
142
- const results = markdownlintLocal.sync({
140
+ // Run markdownlint via loader that normalizes sync/promise shapes
141
+ const results = await runLint({
143
142
  strings: {
144
143
  [filePath]: content,
145
144
  },
@@ -218,11 +217,8 @@ export class MarkdownLintServer {
218
217
  const originalContent = await readFile(filePath);
219
218
  // Load configuration
220
219
  const config = await loadConfiguration(path.dirname(filePath));
221
- // Get initial issues count (lazy import)
222
- const mdInit = await import('markdownlint');
223
- const markdownlintInit = mdInit.default ??
224
- mdInit;
225
- const initialResults = markdownlintInit.sync({
220
+ // Get initial issues count (via loader)
221
+ const initialResults = await runLint({
226
222
  strings: {
227
223
  [filePath]: originalContent,
228
224
  },
@@ -282,15 +278,11 @@ export class MarkdownLintServer {
282
278
  if (fixesApplied === 0) {
283
279
  try {
284
280
  // Try markdownlint's built-in fix as a fallback
285
- const mdFix = await import('markdownlint');
286
- const markdownlintFix = mdFix.default ??
287
- mdFix;
288
- const fixResults = markdownlintFix.sync({
281
+ const fixResults = await runFix({
289
282
  strings: {
290
283
  [filePath]: originalContent,
291
284
  },
292
285
  config,
293
- fix: true,
294
286
  });
295
287
  // Avoid indexing by user-provided keys; use first available result
296
288
  const firstResult = Object.values(fixResults)[0];
@@ -311,17 +303,13 @@ export class MarkdownLintServer {
311
303
  logger.info(`Wrote fixed content to ${filePath}`);
312
304
  }
313
305
  // Get final results
314
- const mdFinal = await import('markdownlint');
315
- const markdownlintFinal = mdFinal.default ??
316
- mdFinal;
317
- const finalResults = markdownlintFinal.sync({
306
+ const finalResults = await runLint({
318
307
  strings: {
319
308
  [filePath]: currentContent,
320
309
  },
321
310
  config,
322
311
  });
323
- const finalLintResults = (finalResults[filePath] ||
324
- []);
312
+ const finalLintResults = (finalResults[filePath] || []);
325
313
  const finalIssues = finalLintResults.map(r => {
326
314
  const rawFix = r
327
315
  .fixInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,MAAM,oCAAoC,CAAC;AAC5C,kFAAkF;AAClF,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAE/C,MAAM,OAAO,kBAAkB;IAC7B,+CAA+C;IAC/B,UAAU,CAAS;IAE3B,MAAM,CAAS;IAEvB;;OAEG;IACH;QACE,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;QAE9B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,OAAO,EAAE,OAAO;SACjB,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;aACV;SACF,CACF,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,iBAAiB;QACjB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,OAAO;gBACL,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,eAAe;wBACrB,WAAW,EAAE,4DAA4D;wBACzE,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,QAAQ,EAAE;oCACR,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,mCAAmC;iCACjD;6BACF;4BACD,QAAQ,EAAE,CAAC,UAAU,CAAC;yBACvB;qBACF;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EACT,iFAAiF;wBACnF,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,QAAQ,EAAE;oCACR,IAAI,EAAE,QAAQ;oCACd,WAAW,EAAE,kCAAkC;iCAChD;gCACD,SAAS,EAAE;oCACT,IAAI,EAAE,SAAS;oCACf,WAAW,EACT,qEAAqE;oCACvE,OAAO,EAAE,IAAI;iCACd;6BACF;4BACD,QAAQ,EAAE,CAAC,UAAU,CAAC;yBACvB;qBACF;oBACD;wBACE,IAAI,EAAE,mBAAmB;wBACzB,WAAW,EAAE,sDAAsD;wBACnE,WAAW,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,EAAE;4BACd,oBAAoB,EAAE,KAAK;yBAC5B;qBACF;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE;YACnE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,2BAA2B;gBAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;gBAC5E,CAAC;gBAED,MAAM,SAAS,GAAG,IAAqB,CAAC;gBAExC,QAAQ,IAAI,EAAE,CAAC;oBACb,KAAK,eAAe;wBAClB,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BAC3C,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;wBAC3E,CAAC;wBACD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAErD,KAAK,cAAc;wBACjB,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;4BAC3C,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;wBAC3E,CAAC;wBACD,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;wBACxF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAE/D,KAAK,mBAAmB;wBACtB,OAAO,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAEvC;wBACE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,mBAAmB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,QAAgB;QACxC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;YAEnD,oBAAoB;YACpB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEzC,sFAAsF;YACtF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE/D,wEAAwE;YACxE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YACxC,MAAM,iBAAiB,GACpB,EAA4C,CAAC,OAAO,IAAK,EAA8B,CAAC;YAC3F,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBACrC,OAAO,EAAE;oBACP,CAAC,QAAQ,CAAC,EAAE,OAAO;iBACpB;gBACD,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAwC,CAAC;YACrF,MAAM,MAAM,GAAwB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACtD,MAAM,MAAM,GAAI,CAA+D;qBAC5E,OAAkB,CAAC;gBACtB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;oBAEpB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAG,MAAkB,CAAC;wBACrC,OAAO;4BACL,UAAU,EACR,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;4BAC7E,WAAW,EACT,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;4BAC/E,UAAU,EACR,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC;gBAEL,OAAO;oBACL,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,eAAe,EACb,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc;oBAChF,WAAW,EAAG,CAAkE;yBAC7E,WAAW;oBACd,OAAO;iBACR,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,cAAc,QAAQ,EAAE,CAAC,CAAC;YAE5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iFAAiF;yBACtH;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,MAAM,SAAS,GAAG,MAAM;iBACrB,GAAG,CACF,CAAC,KAAwB,EAAE,EAAE,CAC3B,YAAY,KAAK,CAAC,UAAU,OAAO,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAC1H;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAClE,MAAM,WAAW,GACf,YAAY,GAAG,CAAC;gBACd,CAAC,CAAC,YAAY,YAAY,gFAAgF;gBAC1G,CAAC,CAAC,EAAE,CAAC;YAET,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mCAAmC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,MAAM,CAAC,MAAM,mBAAmB,SAAS,GAAG,WAAW,EAAE;qBACzI;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,WAAoB;QAC7D,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,kBAAkB,WAAW,EAAE,CAAC,CAAC;YAE/E,oBAAoB;YACpB,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEjD,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE/D,yCAAyC;YACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAC5C,MAAM,gBAAgB,GACnB,MAAgD,CAAC,OAAO;gBACxD,MAAkC,CAAC;YACtC,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC;gBAC3C,OAAO,EAAE;oBACP,CAAC,QAAQ,CAAC,EAAE,eAAe;iBAC5B;gBACD,MAAM;aACP,CAAC,CAAC;YACH,MAAM,kBAAkB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAClD,EAAE,CAAwC,CAAC;YAC7C,MAAM,aAAa,GAAwB,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACpE,MAAM,MAAM,GAAI,CAA+D;qBAC5E,OAAkB,CAAC;gBACtB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;oBAEpB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAG,MAAkB,CAAC;wBACrC,OAAO;4BACL,UAAU,EACR,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;4BAC7E,WAAW,EACT,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;4BAC/E,UAAU,EACR,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC;gBACL,OAAO;oBACL,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,eAAe,EACb,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc;oBAChF,WAAW,EAAG,CAAkE;yBAC7E,WAAW;oBACd,OAAO;iBACR,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,yBAAyB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;YAE7D,2BAA2B;YAC3B,IAAI,KAAK,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;YAC5C,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,gDAAgD;YAChD,MAAM,SAAS,GAAG,aAAa;iBAC5B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAChC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAoB;YAEtF,MAAM,CAAC,KAAK,CAAC,6BAA6B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElE,8BAA8B;YAC9B,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAEnF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC;gBACvC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC5C,0CAA0C;gBAC1C,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC;gBACjD,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,kCAAkC;YAClC,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAE7C,qDAAqD;YACrD,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;gBACvC,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,CAAC;YAED,mDAAmD;YACnD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,gDAAgD;oBAChD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;oBAC3C,MAAM,eAAe,GAClB,KAA+C,CAAC,OAAO;wBACvD,KAAiC,CAAC;oBACrC,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC;wBACtC,OAAO,EAAE;4BACP,CAAC,QAAQ,CAAC,EAAE,eAAe;yBAC5B;wBACD,MAAM;wBACN,GAAG,EAAE,IAAI;qBAC6B,CAAC,CAAC;oBAE1C,mEAAmE;oBACnE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAElC,CAAC;oBACd,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,YAAkC,CAAC;oBAE1E,IAAI,YAAY,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;wBACrD,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;wBACrC,YAAY,IAAI,CAAC,CAAC,CAAC,iCAAiC;wBACpD,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,IAAI,WAAW,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,oBAAoB;YACpB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GACpB,OAAiD,CAAC,OAAO;gBACzD,OAAmC,CAAC;YACvC,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC1C,OAAO,EAAE;oBACP,CAAC,QAAQ,CAAC,EAAE,cAAc;iBAC3B;gBACD,MAAM;aACP,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC9C,EAAE,CAAwC,CAAC;YAC7C,MAAM,WAAW,GAAwB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBAChE,MAAM,MAAM,GAAI,CAA+D;qBAC5E,OAAkB,CAAC;gBACtB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;oBAEpB,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAG,MAAkB,CAAC;wBACrC,OAAO;4BACL,UAAU,EACR,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;4BAC7E,WAAW,EACT,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;4BAC/E,UAAU,EACR,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;yBAC9E,CAAC;oBACJ,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC;gBAEL,OAAO;oBACL,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,eAAe,EACb,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc;oBAChF,WAAW,EAAG,CAAkE;yBAC7E,WAAW;oBACd,OAAO;iBACR,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,uBAAuB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzD,yBAAyB;YACzB,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,UAAU,GAAG,0BAA0B,YAAY,iBAAiB,CAAC;YACvE,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,UAAU,IAAI,QAAQ,WAAW,CAAC,MAAM,2CAA2C,CAAC;gBACpF,MAAM,aAAa,GAAG,WAAW;qBAC9B,GAAG,CACF,CAAC,KAAwB,EAAE,EAAE,CAC3B,YAAY,KAAK,CAAC,UAAU,OAAO,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAC1H;qBACA,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,UAAU,IAAI,aAAa,CAAC;YAC9B,CAAC;iBAAM,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC5B,UAAU,IAAI,sFAAsF,CAAC;YACvG,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,wDAAwD,CAAC;YACxE,CAAC;YAED,IAAI,WAAW,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACpC,UAAU,IAAI,kCAAkC,CAAC;YACnD,CAAC;YAED,cAAc;YACd,UAAU,IAAI,mCAAmC,aAAa,CAAC,MAAM,yBAAyB,WAAW,CAAC,MAAM,yBAAyB,YAAY,SAAS,CAAC;YAE/J,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,sBAAsB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,UAAU,GAAG,CAAC,WAAW,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,oDAAoD,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;qBACjM;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB;QAC3B,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAE/C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,idAAid,gBAAgB,CAAC,MAAM,8BAA8B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBAC3iB;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,GAAG;QACd,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,aAAa,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,8BAA8B,CAAC,CAAC;IAChE,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,kBAAkB,EAAE,CAAC;AAClC,CAAC;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Options, LintResults } from 'markdownlint';
2
+ export declare function runLint(options: Options): Promise<LintResults>;
3
+ export declare function runFix(options: Options): Promise<LintResults>;
4
+ export declare function getFallbackCount(): number;
5
+ export declare function resetFallbackCount(): void;
6
+ //# sourceMappingURL=markdownlint-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdownlint-loader.d.ts","sourceRoot":"","sources":["../../src/utils/markdownlint-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA8PvE,wBAAsB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAwBpE;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAGnE;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
@@ -0,0 +1,235 @@
1
+ import logger from './logger.js';
2
+ /**
3
+ * Module-level state tracking fallback API usage.
4
+ * Note: This is not thread-safe and is intended for debugging/observability only.
5
+ * In concurrent scenarios, consider using a more robust state management pattern.
6
+ */
7
+ let fallbackCount = 0;
8
+ /**
9
+ * Try to import ESM sync subpath (markdownlint 0.40.0+).
10
+ * Returns the module and success indicator, or null if unavailable.
11
+ */
12
+ async function tryImportSyncSubpath(errors) {
13
+ try {
14
+ logger.debug('markdownlint: attempting ESM subpath import markdownlint/sync');
15
+ const syncModule = await import('markdownlint/sync');
16
+ if (syncModule && typeof syncModule.lint === 'function') {
17
+ logger.debug('markdownlint: successfully imported markdownlint/sync with lint export');
18
+ return { module: syncModule, success: true };
19
+ }
20
+ errors.push('markdownlint/sync exists but does not export lint function');
21
+ }
22
+ catch (error) {
23
+ errors.push(`markdownlint/sync import failed: ${error.message}`);
24
+ }
25
+ return { module: null, success: false };
26
+ }
27
+ /**
28
+ * Try to import ESM promise subpath (markdownlint 0.40.0+).
29
+ * Returns the module and success indicator, or null if unavailable.
30
+ */
31
+ async function tryImportPromiseSubpath(errors) {
32
+ try {
33
+ logger.debug('markdownlint: attempting ESM subpath import markdownlint/promise');
34
+ const promiseModule = await import('markdownlint/promise');
35
+ if (promiseModule && typeof promiseModule.lint === 'function') {
36
+ logger.warn('markdownlint: ESM sync subpath unavailable, falling back to markdownlint/promise');
37
+ fallbackCount++;
38
+ return { module: promiseModule, success: true };
39
+ }
40
+ errors.push('markdownlint/promise exists but does not export lint function');
41
+ }
42
+ catch (error) {
43
+ errors.push(`markdownlint/promise import failed: ${error.message}`);
44
+ }
45
+ return { module: null, success: false };
46
+ }
47
+ /**
48
+ * Check for legacy sync export on the given module candidate.
49
+ * Returns true and logs if found, incrementing fallback counter if needed.
50
+ */
51
+ function tryLegacySyncExport(candidate, _errors) {
52
+ if (candidate && typeof candidate.sync === 'function') {
53
+ logger.warn('markdownlint: using legacy module-level sync export');
54
+ return true;
55
+ }
56
+ return false;
57
+ }
58
+ /**
59
+ * Check for legacy promise/callable exports on the given module candidate.
60
+ * Returns the detected API type ('legacy-async' or null) and increments fallback if detected.
61
+ */
62
+ function tryLegacyAsyncExport(candidate, _errors) {
63
+ const mod = candidate;
64
+ // Check for legacy .promise export
65
+ if (typeof mod.promise === 'function') {
66
+ logger.warn('markdownlint: using legacy module-level promise export');
67
+ fallbackCount++;
68
+ return 'legacy-async';
69
+ }
70
+ // Check if candidate itself is callable (legacy default export as function)
71
+ if (typeof candidate === 'function') {
72
+ logger.warn('markdownlint: using legacy callable default export');
73
+ fallbackCount++;
74
+ return 'legacy-async';
75
+ }
76
+ // Check if candidate.default is callable (legacy { default: async function })
77
+ if (typeof mod.default === 'function') {
78
+ logger.warn('markdownlint: using legacy callable .default export');
79
+ fallbackCount++;
80
+ return 'legacy-async';
81
+ }
82
+ return null;
83
+ }
84
+ /**
85
+ * Try to import and detect legacy module-level exports (backward compatibility).
86
+ * Returns the module and detected API path, or null if unavailable.
87
+ */
88
+ async function tryImportLegacyModule(errors) {
89
+ try {
90
+ logger.debug('markdownlint: attempting legacy module import');
91
+ const md = await import('markdownlint');
92
+ const candidate = md.default ?? md;
93
+ if (tryLegacySyncExport(candidate, errors)) {
94
+ return { module: candidate, apiPath: 'legacy-sync', success: true };
95
+ }
96
+ const asyncApiPath = tryLegacyAsyncExport(candidate, errors);
97
+ if (asyncApiPath) {
98
+ return { module: candidate, apiPath: asyncApiPath, success: true };
99
+ }
100
+ }
101
+ catch (error) {
102
+ errors.push(`legacy module import failed: ${error.message}`);
103
+ }
104
+ return { module: null, apiPath: null, success: false };
105
+ }
106
+ /**
107
+ * Attempt to import from ESM subpath exports (markdownlint 0.40.0+).
108
+ * Priority order:
109
+ * 1. markdownlint/sync (preferred - deterministic, synchronous)
110
+ * 2. markdownlint/promise (fallback - async, but more compatible)
111
+ * 3. Legacy module-level exports (backward compatibility)
112
+ */
113
+ async function loadMarkdownlint() {
114
+ const errors = [];
115
+ // Step 1: Try markdownlint/sync (ESM subpath)
116
+ const syncResult = await tryImportSyncSubpath(errors);
117
+ if (syncResult.success) {
118
+ return {
119
+ module: syncResult.module,
120
+ apiPath: 'sync',
121
+ errors: [],
122
+ };
123
+ }
124
+ // Step 2: Try markdownlint/promise (ESM subpath)
125
+ const promiseResult = await tryImportPromiseSubpath(errors);
126
+ if (promiseResult.success) {
127
+ return {
128
+ module: promiseResult.module,
129
+ apiPath: 'async',
130
+ errors: errors,
131
+ };
132
+ }
133
+ // Step 3: Try legacy module-level exports (backward compatibility)
134
+ const legacyResult = await tryImportLegacyModule(errors);
135
+ if (legacyResult.success && legacyResult.apiPath) {
136
+ return {
137
+ module: legacyResult.module,
138
+ apiPath: legacyResult.apiPath,
139
+ errors: errors,
140
+ };
141
+ }
142
+ // All import paths exhausted
143
+ const errorSummary = errors.join('; ');
144
+ const message = `Unsupported markdownlint API shape. Attempted: /sync, /promise, legacy. ` +
145
+ `Details: ${errorSummary}`;
146
+ logger.error(message);
147
+ return {
148
+ module: {},
149
+ apiPath: 'error',
150
+ errors: errors,
151
+ };
152
+ }
153
+ /**
154
+ * Invoke a lint function, handling both sync and async return values.
155
+ * @param lintFn - The lint function to invoke
156
+ * @param options - Options to pass to the lint function
157
+ * @returns Promise that resolves to LintResults
158
+ */
159
+ async function invokeLintFunction(lintFn, options) {
160
+ const result = lintFn(options);
161
+ // If result is a promise, await it
162
+ if (result instanceof Promise) {
163
+ return await result;
164
+ }
165
+ return result;
166
+ }
167
+ /**
168
+ * Execute the lint function from an ESM subpath module (sync or async).
169
+ * @param module - The imported markdownlint module
170
+ * @param options - Options to pass to lint
171
+ * @returns Promise that resolves to LintResults
172
+ */
173
+ async function runLintFromSubpath(module, options) {
174
+ const lintFn = module.lint;
175
+ if (typeof lintFn === 'function') {
176
+ return invokeLintFunction(lintFn, options);
177
+ }
178
+ throw new Error('Unsupported markdownlint API shape (lint export not found)');
179
+ }
180
+ /**
181
+ * Execute the lint function from a legacy module export.
182
+ * Tries multiple export shapes: .sync, .promise, callable, .default callable.
183
+ * @param module - The imported markdownlint module
184
+ * @param candidate - The candidate module (module or module.default)
185
+ * @param options - Options to pass to lint
186
+ * @returns Promise that resolves to LintResults
187
+ */
188
+ async function runLintFromLegacy(module, candidate, options) {
189
+ // Try .sync export
190
+ if (typeof module.sync === 'function') {
191
+ return await invokeLintFunction(module.sync, options);
192
+ }
193
+ // Try .promise export
194
+ if (typeof module.promise === 'function') {
195
+ return await module.promise(options);
196
+ }
197
+ // Try callable module/default (allow errors to propagate to caller)
198
+ if (typeof candidate === 'function') {
199
+ return await candidate(options);
200
+ }
201
+ if (typeof module.default === 'function') {
202
+ return await module.default(options);
203
+ }
204
+ throw new Error('Unsupported markdownlint API shape (unable to invoke lint function)');
205
+ }
206
+ export async function runLint(options) {
207
+ const { module: candidate, apiPath, errors } = await loadMarkdownlint();
208
+ if (apiPath === 'error') {
209
+ const errorDetails = errors.join('; ');
210
+ const errorMsg = `Unsupported markdownlint API shape. Attempted: /sync, /promise, legacy. ` +
211
+ `Errors: ${errorDetails}`;
212
+ throw new Error(errorMsg);
213
+ }
214
+ const module = candidate;
215
+ // ESM sync subpath or async subpath
216
+ if (apiPath === 'sync' || apiPath === 'async') {
217
+ return runLintFromSubpath(module, options);
218
+ }
219
+ // Legacy async paths
220
+ if (apiPath === 'legacy-sync' || apiPath === 'legacy-async') {
221
+ return runLintFromLegacy(module, candidate, options);
222
+ }
223
+ throw new Error('Unsupported markdownlint API shape (unknown apiPath)');
224
+ }
225
+ export async function runFix(options) {
226
+ const optsWithFix = Object.assign({}, options, { fix: true });
227
+ return await runLint(optsWithFix);
228
+ }
229
+ export function getFallbackCount() {
230
+ return fallbackCount;
231
+ }
232
+ export function resetFallbackCount() {
233
+ fallbackCount = 0;
234
+ }
235
+ //# sourceMappingURL=markdownlint-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdownlint-loader.js","sourceRoot":"","sources":["../../src/utils/markdownlint-loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dougis/markdown-lint-mcp",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Model Context Protocol server for markdown linting and formatting, forked from ernestgwilsonii/markdownlint-mcp",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -12,8 +12,9 @@
12
12
  "test:watch": "jest --watch",
13
13
  "test:coverage": "jest --coverage",
14
14
  "lint": "eslint src --ext .ts",
15
- "lint:fix": "eslint src --ext .ts --fix",
15
+ "lint:fix": "npm run lint -- --fix",
16
16
  "format": "prettier --write 'src/**/*.ts'",
17
+ "beforePush": "npm test && npm run lint && npm run build",
17
18
  "prepare": "npm run build",
18
19
  "prepublishOnly": "npm test && npm run lint",
19
20
  "preversion": "npm run lint",
@@ -68,11 +69,17 @@
68
69
  "@babel/core": "^7.22.0",
69
70
  "@babel/preset-env": "^7.22.0",
70
71
  "@jest/globals": "^30.2.0",
72
+ "@semantic-release/changelog": "^6.0.0",
73
+ "@semantic-release/commit-analyzer": "^9.0.0",
74
+ "@semantic-release/git": "^10.0.0",
75
+ "@semantic-release/npm": "^13.1.3",
76
+ "@semantic-release/release-notes-generator": "^10.0.0",
71
77
  "@types/jest": "^30.0.0",
72
78
  "@types/node": "^25.0.0",
73
79
  "@typescript-eslint/eslint-plugin": "^8.53.0",
74
80
  "@typescript-eslint/parser": "^8.53.0",
75
81
  "babel-jest": "^30.2.0",
82
+ "conventional-changelog-conventionalcommits": "^7.0.0",
76
83
  "eslint": "^9.0.0",
77
84
  "eslint-config-prettier": "^10.0.0",
78
85
  "eslint-plugin-jest": "^29.12.0",
@@ -82,4 +89,4 @@
82
89
  "ts-jest": "^29.4.0",
83
90
  "typescript": "^5.9.0"
84
91
  }
85
- }
92
+ }