From 767028f9c8dadbd2b16d603f29304d538c9c9455 Mon Sep 17 00:00:00 2001 From: 3w36zj6 <52315048+3w36zj6@users.noreply.github.com> Date: Sun, 31 Mar 2024 21:22:31 +0900 Subject: [PATCH] feat: Create project --- .editorconfig | 9 +++ .gitignore | 2 + .tool-versions | 2 + LICENSE | 22 +++++ README.md | 46 +++++++++++ biome.json | 17 ++++ bun.lockb | Bin 0 -> 273371 bytes package.json | 52 ++++++++++++ src/index.ts | 5 ++ src/mapping/markdown-syntax-map.ts | 39 +++++++++ src/mdxProcessor.ts | 31 +++++++ src/parse.ts | 126 +++++++++++++++++++++++++++++ tsconfig.json | 22 +++++ 13 files changed, 373 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .tool-versions create mode 100644 LICENSE create mode 100644 README.md create mode 100644 biome.json create mode 100755 bun.lockb create mode 100644 package.json create mode 100644 src/index.ts create mode 100644 src/mapping/markdown-syntax-map.ts create mode 100644 src/mdxProcessor.ts create mode 100644 src/parse.ts create mode 100644 tsconfig.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ae3bcd1 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*.{js,ts,json}] +indent_style = tab +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +end_of_line = lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..88edb62 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +lib/ diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..d1f0318 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +bun 1.0.36 +nodejs 20.12.0 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..56a796e --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2024 3w36zj6 +Copyright (c) 2015 azu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..713ad64 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# textlint-plugin-mdx + +[textlint](https://github.com/textlint/textlint) plugin to lint [MDX](https://mdxjs.com/) + +## Installation + +```sh +# npm +npm install textlint-plugin-mdx + +# Yarn +yarn add textlint-plugin-mdx + +# pnpm +pnpm add textlint-plugin-mdx + +# Bun +bun add textlint-plugin-mdx +``` + +## Usage + +```json +{ + "plugins": { + "mdx": true + } +} +``` + +## Options + +- `extensions`: `string[]` + - Additional file extensions for MDX + +## Contributing + +1. Fork it! +2. Create your feature branch: `git checkout -b my-new-feature` +3. Commit your changes: `git commit -am 'Add some feature'` +4. Push to the branch: `git push origin my-new-feature` +5. Submit a pull request :D + +## License + +[MIT License](LICENSE) diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..aa5c143 --- /dev/null +++ b/biome.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.6.3/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true + } +} diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..4cbcfc6746556a73617cfd9010110f6e5ccdb5e6 GIT binary patch literal 273371 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�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 z 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..561bfda --- /dev/null +++ b/package.json @@ -0,0 +1,52 @@ +{ + "name": "textlint-plugin-mdx", + "version": "1.0.0", + "description": "textlint plugin to lint MDX", + "keywords": ["textlint", "textlintplugin", "plugin", "lint", "mdx"], + "repository": "https://github.com/3w36zj6/textlint-plugin-mdx", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/3w36zj6" + }, + "license": "MIT", + "author": "3w36zj6", + "main": "lib/index.js", + "files": ["lib"], + "scripts": { + "build": "esbuild --bundle src/*.ts --outdir=lib --platform=node", + "clean": "rm -frv lib", + "format": "biome format --write .", + "format:check": "biome format .", + "lint": "biome lint .", + "lint:fix": "biome lint --apply .", + "check": "biome check .", + "test": "vitest" + }, + "dependencies": { + "remark-footnotes": "^4.0.1", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "remark-mdx": "^3.0.1", + "remark-parse": "^11.0.0", + "traverse": "^0.6.8", + "unified": "^11.0.4" + }, + "devDependencies": { + "@biomejs/biome": "^1.6.3", + "@textlint/ast-node-types": "^14.0.4", + "@textlint/ast-tester": "^14.0.4", + "@textlint/types": "^14.0.4", + "@types/node": "^20.12.2", + "@types/traverse": "^0.6.36", + "bun-types": "latest", + "esbuild": "^0.20.2", + "textlint-scripts": "^14.0.4", + "textlint-tester": "^14.0.4", + "tsc": "^2.0.4", + "typescript": "^5.4.3", + "vitest": "^1.4.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..59edad0 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,5 @@ +import { MdxProcessor } from "./mdxProcessor"; + +export default { + Processor: MdxProcessor, +}; diff --git a/src/mapping/markdown-syntax-map.ts b/src/mapping/markdown-syntax-map.ts new file mode 100644 index 0000000..aa5abf8 --- /dev/null +++ b/src/mapping/markdown-syntax-map.ts @@ -0,0 +1,39 @@ +// LICENSE : MIT +import { ASTNodeTypes } from "@textlint/ast-node-types"; + +export const SyntaxMap = { + root: ASTNodeTypes.Document, + paragraph: ASTNodeTypes.Paragraph, + blockquote: ASTNodeTypes.BlockQuote, + listItem: ASTNodeTypes.ListItem, + list: ASTNodeTypes.List, + Bullet: "Bullet", // no need? + heading: ASTNodeTypes.Header, + code: ASTNodeTypes.CodeBlock, + HtmlBlock: ASTNodeTypes.HtmlBlock, + thematicBreak: ASTNodeTypes.HorizontalRule, + // inline block + text: ASTNodeTypes.Str, + break: ASTNodeTypes.Break, + emphasis: ASTNodeTypes.Emphasis, + strong: ASTNodeTypes.Strong, + html: ASTNodeTypes.Html, + link: ASTNodeTypes.Link, + image: ASTNodeTypes.Image, + inlineCode: ASTNodeTypes.Code, + delete: ASTNodeTypes.Delete, + // remark(markdown) extension + // Following type is not in @textlint/ast-node-types + yaml: "Yaml", + table: "Table", + tableRow: "TableRow", + tableCell: "TableCell", + linkReference: "LinkReference", + imageReference: "ImageReference", + footnoteReference: "FootnoteReference", // textlint@12+ + definition: "Definition", + /** + * @deprecated + */ + ReferenceDef: ASTNodeTypes.ReferenceDef, +} as const; diff --git a/src/mdxProcessor.ts b/src/mdxProcessor.ts new file mode 100644 index 0000000..7f55fc9 --- /dev/null +++ b/src/mdxProcessor.ts @@ -0,0 +1,31 @@ +import type { TxtNode } from "@textlint/ast-node-types"; +import type { TextlintPluginOptions } from "@textlint/types"; +import { parse } from "./parse"; + +export class MdxProcessor { + config: TextlintPluginOptions; + extensions: Array; + constructor(config = {}) { + this.config = config; + this.extensions = this.config.extensions ? this.config.extensions : []; + } + + availableExtensions() { + return [".mdx"].concat(this.extensions); + } + + processor(_ext: string) { + return { + preProcess(text: string, _filePath?: string): TxtNode { + return parse(text); + }, + // biome-ignore lint/suspicious/noExplicitAny: Allowing 'any' type for messages as the exact structure is not known. + postProcess(messages: any[], filePath?: string) { + return { + messages, + filePath: filePath ? filePath : "", + }; + }, + }; + } +} diff --git a/src/parse.ts b/src/parse.ts new file mode 100644 index 0000000..ba02072 --- /dev/null +++ b/src/parse.ts @@ -0,0 +1,126 @@ +import type { TxtDocumentNode } from "@textlint/ast-node-types"; +import { ASTNodeTypes } from "@textlint/ast-node-types"; +import debug0 from "debug"; +import traverse from "traverse"; +import { SyntaxMap } from "./mapping/markdown-syntax-map"; + +import { unified } from "unified"; + +//import footnotes from "remark-footnotes"; +import frontmatter from "remark-frontmatter"; +import remarkGfm from "remark-gfm"; +import remarkMdx from "remark-mdx"; +import remarkParse from "remark-parse"; +import type { Node } from "unist"; + +export const parseMarkdown = (text: string): Node => { + const remark = unified() + .use(remarkParse) + .use(frontmatter, ["yaml"]) + .use(remarkGfm) + .use(remarkMdx); + /*.use(footnotes, { + inlineNotes: true + });*/ + return remark.parse(text); +}; + +const debug = debug0("@textlint/markdown-to-ast"); + +export { ASTNodeTypes as Syntax }; + +/** + * parse Markdown text and return ast mapped location info. + * @param {string} text + */ +export function parse(text: string): TxtDocumentNode { + // remark-parse's AST does not consider BOM + // AST's position does not +1 by BOM + // So, just trim BOM and parse it for `raw` property + // textlint's SourceCode also take same approach - trim BOM and check the position + // This means that the loading side need to consider BOM position - for example fs.readFile and text slice script. + // https://github.com/micromark/micromark/blob/0f19c1ac25964872a160d8b536878b125ddfe393/lib/preprocess.mjs#L29-L31 + const hasBOM = text.charCodeAt(0) === 0xfeff; + const textWithoutBOM = hasBOM ? text.slice(1) : text; + const ast = parseMarkdown(textWithoutBOM); + // biome-ignore lint/complexity/noForEach: traverse cannot use for...of syntax. + traverse(ast).forEach(function (node) { + const isMdx = + node && + Object.prototype.hasOwnProperty.call(node, "type") && + /^(mdxJsxFlowElement|mdxJsxTextElement|mdxjsEsm|mdxFlowExpression|mdxTextExpression)$/.test( + node.type, + ); + if (this.notLeaf) { + // MDX support + if (isMdx) { + if (node.type === "mdxJsxFlowElement") { + node.type = ASTNodeTypes.Html; + } else if (node.type === "mdxJsxTextElement") { + node.type = ASTNodeTypes.Paragraph; + } else if ( + node.type === "mdxjsEsm" || + node.type === "mdxFlowExpression" || + node.type === "mdxTextExpression" + ) { + if ( + Object.prototype.hasOwnProperty.call(node, "value") && + /^(\/\*(.|\s)*\*\/)$/.test(node.value) + ) { + node.type = ASTNodeTypes.Comment; + node.value = node.value.replace(/^(\/\*)/, "").replace(/\*\/$/, ""); + } else { + node.type = + node.type === "mdxTextExpression" + ? ASTNodeTypes.Code + : ASTNodeTypes.CodeBlock; + } + } + if (Object.prototype.hasOwnProperty.call(node, "attributes")) { + node.attributes = undefined; + } + if (Object.prototype.hasOwnProperty.call(node, "name")) { + node.name = undefined; + } + if (Object.prototype.hasOwnProperty.call(node, "data")) { + node.data = undefined; + } + } else if (node.type) { + const replacedType = SyntaxMap[node.type as keyof typeof SyntaxMap]; + if (!replacedType) { + debug(`replacedType : ${replacedType} , node.type: ${node.type}`); + } else { + node.type = replacedType; + } + } + // map `range`, `loc` and `raw` to node + if (node.position) { + const position = node.position; + // line start with 1 + // column start with 0 + const positionCompensated = { + start: { + line: position.start.line, + column: Math.max(position.start.column - 1, 0), + }, + end: { + line: position.end.line, + column: Math.max(position.end.column - 1, 0), + }, + }; + const range = [position.start.offset, position.end.offset] as const; + node.loc = positionCompensated; + node.range = range; + node.raw = textWithoutBOM.slice(range[0], range[1]); + // Compatible for https://github.com/syntax-tree/unist, but it is hidden + Object.defineProperty(node, "position", { + enumerable: false, + configurable: false, + writable: false, + value: position, + }); + } + } + }); + return ast as TxtDocumentNode; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..6b468ec --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "lib": ["ESNext"], + "module": "esnext", + "target": "esnext", + "moduleResolution": "bundler", + "moduleDetection": "force", + "allowImportingTsExtensions": true, + "noEmit": true, + "composite": true, + "strict": true, + "downlevelIteration": true, + "skipLibCheck": true, + "jsx": "react-jsx", + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "allowJs": true, + "types": [ + "bun-types" // add Bun global + ] + } +}