{"_id":"remark-lint-mdx-jsx-quote-style","_rev":"1-98d35522780f68e1375681c566dc5166","name":"remark-lint-mdx-jsx-quote-style","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"remark-lint-mdx-jsx-quote-style","version":"1.0.0","keywords":["attribute","jsx","lint","mdx","quote","remark","remark-lint","remark-lint-rule","rule"],"author":{"url":"https://wooorm.com","name":"Titus Wormer","email":"tituswormer@gmail.com"},"license":"MIT","_id":"remark-lint-mdx-jsx-quote-style@1.0.0","maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"}],"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com"}],"homepage":"https://github.com/remarkjs/remark-lint/tree/main#readme","bugs":{"url":"https://github.com/remarkjs/remark-lint/issues"},"xo":{"rules":{"capitalized-comments":"off","unicorn/prefer-switch":"off","unicorn/prefer-code-point":"off"},"prettier":true},"dist":{"shasum":"b3534dd6fdd42e749fcbe9b0d3984c3ded14733d","tarball":"https://registry.npmjs.org/remark-lint-mdx-jsx-quote-style/-/remark-lint-mdx-jsx-quote-style-1.0.0.tgz","fileCount":5,"integrity":"sha512-8aCQ/zpZcIroRT2BIlhrexLexqIiNd+wJjp/OxRy6UPztEy9hDLT+YuQNJ2iAx6Lh1qy3kP5QhqWE6UiNnpTMw==","signatures":[{"sig":"MEQCIGCRvRo9aeO9/fXUEdjB4DmUyMDiAPoIULSET+C3sxIrAiBZCcy95xuoE/F/KLx9KpQ785jrh12HwlHBQtb2qzaqTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17713},"type":"module","types":"./index.d.ts","exports":"./index.js","funding":{"url":"https://opencollective.com/unified","type":"opencollective"},"gitHead":"07b24b33c6a4e8c708abf90afeb676024d2632f2","scripts":{},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"repository":{"url":"git+https://github.com/remarkjs/remark-lint.git#main","type":"git"},"_npmVersion":"11.0.0","description":"remark-lint rule to check mdx jsx quotes","directories":{},"sideEffects":false,"_nodeVersion":"23.1.0","dependencies":{"@types/mdast":"^4.0.0","vfile-message":"^4.0.0","mdast-util-mdx":"^3.0.0","unified-lint-rule":"^3.0.0","unist-util-position":"^5.0.0","micromark-util-character":"^2.0.0","unist-util-visit-parents":"^6.0.0"},"typeCoverage":{"strict":true,"atLeast":100},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/remark-lint-mdx-jsx-quote-style_1.0.0_1737979183757_0.6815254093947598","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"bugs":{"url":"https://github.com/remarkjs/remark-lint/issues"},"contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com"}],"dependencies":{"@types/mdast":"^4.0.0","mdast-util-mdx":"^3.0.0","micromark-util-character":"^2.0.0","unified-lint-rule":"^3.0.0","unist-util-position":"^5.0.0","unist-util-visit-parents":"^6.0.0","vfile-message":"^4.0.0"},"description":"remark-lint rule to check mdx jsx quotes","exports":"./index.js","funding":{"type":"opencollective","url":"https://opencollective.com/unified"},"keywords":["attribute","jsx","lint","mdx","quote","remark","remark-lint","remark-lint-rule","rule"],"license":"MIT","name":"remark-lint-mdx-jsx-quote-style","repository":{"type":"git","url":"git+https://github.com/remarkjs/remark-lint.git#main"},"scripts":{},"sideEffects":false,"typeCoverage":{"atLeast":100,"strict":true},"type":"module","version":"1.0.1","xo":{"prettier":true,"rules":{"capitalized-comments":"off","unicorn/prefer-code-point":"off","unicorn/prefer-switch":"off"}},"_id":"remark-lint-mdx-jsx-quote-style@1.0.1","gitHead":"46ccbcd49deaada0172ad10425a2cd6b5f21a2c2","types":"./index.d.ts","homepage":"https://github.com/remarkjs/remark-lint/tree/main#readme","_nodeVersion":"23.1.0","_npmVersion":"11.0.0","dist":{"integrity":"sha512-pa91G1Iu5VUd1j3u7Jat/QI3Mkf2C/stOhLwwrZBNALpQu5CikkeuldEtau3Ds6UI2fHnVL7KVdeB8CJlwtjtw==","shasum":"e1213bb7df6edc6e937fc93e02adbaab1e62da29","tarball":"https://registry.npmjs.org/remark-lint-mdx-jsx-quote-style/-/remark-lint-mdx-jsx-quote-style-1.0.1.tgz","fileCount":5,"unpackedSize":17713,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD5mIU3lHaXI8rwJZVK9uJwK3NMYQZNkq4RQ+j3rye48QIgBkrRgB7C14S0GqTF6fMVH8KFYatH0OlyiAaql27ehDE="}]},"_npmUser":{"name":"wooorm","email":"tituswormer@gmail.com"},"directories":{},"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/remark-lint-mdx-jsx-quote-style_1.0.1_1737981160037_0.8503788150467513"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-27T11:59:43.756Z","modified":"2025-01-27T12:32:40.422Z","1.0.0":"2025-01-27T11:59:43.910Z","1.0.1":"2025-01-27T12:32:40.266Z"},"bugs":{"url":"https://github.com/remarkjs/remark-lint/issues"},"author":{"name":"Titus Wormer","email":"tituswormer@gmail.com","url":"https://wooorm.com"},"license":"MIT","homepage":"https://github.com/remarkjs/remark-lint/tree/main#readme","keywords":["attribute","jsx","lint","mdx","quote","remark","remark-lint","remark-lint-rule","rule"],"repository":{"type":"git","url":"git+https://github.com/remarkjs/remark-lint.git#main"},"description":"remark-lint rule to check mdx jsx quotes","contributors":[{"name":"Titus Wormer","email":"tituswormer@gmail.com"}],"maintainers":[{"name":"wooorm","email":"tituswormer@gmail.com"}],"readme":"<!--This file is generated-->\n\n# remark-lint-mdx-jsx-quote-style\n\n[![Build][badge-build-image]][badge-build-url]\n[![Coverage][badge-coverage-image]][badge-coverage-url]\n[![Downloads][badge-downloads-image]][badge-downloads-url]\n[![Size][badge-size-image]][badge-size-url]\n[![Sponsors][badge-funding-sponsors-image]][badge-funding-url]\n[![Backers][badge-funding-backers-image]][badge-funding-url]\n[![Chat][badge-chat-image]][badge-chat-url]\n\n[`remark-lint`][github-remark-lint] rule to warn when MDX JSX attribute value\nmarkers violate a given style.\n\n## Contents\n\n* [What is this?](#what-is-this)\n* [When should I use this?](#when-should-i-use-this)\n* [Presets](#presets)\n* [Install](#install)\n* [Use](#use)\n* [API](#api)\n  * [`unified().use(remarkLintMdxJsxQuoteStyle[, options])`](#unifieduseremarklintmdxjsxquotestyle-options)\n  * [`Options`](#options)\n  * [`Style`](#style)\n* [Recommendation](#recommendation)\n* [Fix](#fix)\n* [Examples](#examples)\n* [Compatibility](#compatibility)\n* [Contribute](#contribute)\n* [License](#license)\n\n## What is this?\n\nThis package checks the style of MDX JSX attribute value markers.\n\n## When should I use this?\n\nYou can use this package to check that the style of MDX JSX attribute value\nmarkers is consistent.\n\n## Presets\n\nThis plugin is not included in presets maintained here.\n\n## Install\n\nThis package is [ESM only][github-gist-esm].\nIn Node.js (version 16+),\ninstall with [npm][npm-install]:\n\n```sh\nnpm install remark-lint-mdx-jsx-quote-style\n```\n\nIn Deno with [`esm.sh`][esm-sh]:\n\n```js\nimport remarkLintMdxJsxQuoteStyle from 'https://esm.sh/remark-lint-mdx-jsx-quote-style@1'\n```\n\nIn browsers with [`esm.sh`][esm-sh]:\n\n```html\n<script type=\"module\">\n  import remarkLintMdxJsxQuoteStyle from 'https://esm.sh/remark-lint-mdx-jsx-quote-style@1?bundle'\n</script>\n```\n\n## Use\n\nOn the API:\n\n```js\nimport remarkLint from 'remark-lint'\nimport remarkLintMdxJsxQuoteStyle from 'remark-lint-mdx-jsx-quote-style'\nimport remarkParse from 'remark-parse'\nimport remarkStringify from 'remark-stringify'\nimport {read} from 'to-vfile'\nimport {unified} from 'unified'\nimport {reporter} from 'vfile-reporter'\n\nconst file = await read('example.md')\n\nawait unified()\n  .use(remarkParse)\n  .use(remarkLint)\n  .use(remarkLintMdxJsxQuoteStyle)\n  .use(remarkStringify)\n  .process(file)\n\nconsole.error(reporter(file))\n```\n\nOn the CLI:\n\n```sh\nremark --frail --use remark-lint --use remark-lint-mdx-jsx-quote-style .\n```\n\nOn the CLI in a config file (here a `package.json`):\n\n```diff\n …\n \"remarkConfig\": {\n   \"plugins\": [\n     …\n     \"remark-lint\",\n+    \"remark-lint-mdx-jsx-quote-style\",\n     …\n   ]\n }\n …\n```\n\n## API\n\nThis package exports no identifiers.\nIt exports the [TypeScript][typescript] types\n[`Options`][api-options] and\n[`Style`][api-style].\nThe default export is\n[`remarkLintMdxJsxQuoteStyle`][api-remark-lint-mdx-jsx-quote-style].\n\n### `unified().use(remarkLintMdxJsxQuoteStyle[, options])`\n\nWarn when MDX JSX attribute value markers violate a given style.\n\n###### Parameters\n\n* `options` ([`Options`][api-options], default: `'consistent'`)\n  — preferred style or whether to detect the first style and warn for\n  further differences\n\n###### Returns\n\nTransform ([`Transformer` from `unified`][github-unified-transformer]).\n\n### `Options`\n\nConfiguration (TypeScript type).\n\n###### Type\n\n```ts\ntype Options = Style | 'consistent'\n```\n\n### `Style`\n\nStyle (TypeScript type).\n\n###### Type\n\n```ts\ntype Style = '\"' | '\\''\n```\n\n## Recommendation\n\nIn HTML,\nattributes are commonly written with double quotes.\nIt’s recommended to go with that.\nTo configure this rule with `'\"'`.\n\n## Fix\n\n[`remark-mdx`][github-remark-mdx] formats titles with double\nquotes by default.\nPass `quote: \"'\"` to use single quotes.\n\n## Examples\n\n##### `ok-consistent.mdx`\n\n###### In\n\n> 👉 **Note**: this example uses\n> MDX ([`remark-mdx`][github-remark-mdx]).\n\n```mdx\n<a href=\"https://example.com/venus/\">Venus</a> and\n<a href=\"https://example.com/earth/\">Earth</a>.\n```\n\n###### Out\n\nNo messages.\n\n##### `not-ok-consistent.mdx`\n\n###### In\n\n> 👉 **Note**: this example uses\n> MDX ([`remark-mdx`][github-remark-mdx]).\n\n```mdx\n<a href=\"https://example.com/venus/\">Venus</a> and\n<a href='https://example.com/earth/'>Earth</a>.\n```\n\n###### Out\n\n```text\n2:4-2:37: Unexpected JSX quote markers `'`, expected `\"`\n```\n\n##### `double-quote.mdx`\n\nWhen configured with `'\"'`.\n\n###### In\n\n> 👉 **Note**: this example uses\n> MDX ([`remark-mdx`][github-remark-mdx]).\n\n```mdx\n<a href=\"https://example.com/venus/\">Venus</a> and\n<a href='https://example.com/earth/'>Earth</a>.\n```\n\n###### Out\n\n```text\n2:4-2:37: Unexpected JSX quote markers `'`, expected `\"`\n```\n\n##### `single-quote.mdx`\n\nWhen configured with `\"'\"`.\n\n###### In\n\n> 👉 **Note**: this example uses\n> MDX ([`remark-mdx`][github-remark-mdx]).\n\n```mdx\n<a href=\"https://example.com/venus/\">Venus</a> and\n<a href='https://example.com/earth/'>Earth</a>.\n```\n\n###### Out\n\n```text\n1:4-1:37: Unexpected JSX quote markers `\"`, expected `'`\n```\n\n##### `other-attributes.mdx`\n\n###### In\n\n> 👉 **Note**: this example uses\n> MDX ([`remark-mdx`][github-remark-mdx]).\n\n```mdx\n<Mercury closest />,\n<Venus aphelion={0.728213} />, and\n<Earth {...people} />.\n```\n\n###### Out\n\nNo messages.\n\n##### `whitespace.mdx`\n\nWhen configured with `'\"'`.\n\n###### In\n\n> 👉 **Note**: this example uses\n> MDX ([`remark-mdx`][github-remark-mdx]).\n\n```mdx\n<Mars symbol = \"♂\" />.\n```\n\n###### Out\n\nNo messages.\n\n##### `not-ok.mdx`\n\nWhen configured with `'🌍'`.\n\n###### Out\n\n```text\n1:1: Unexpected value `🌍` for `options`, expected `'\"'`, `\"'\"`, or `'consistent'`\n```\n\n## Compatibility\n\nProjects maintained by the unified collective are compatible with maintained\nversions of Node.js.\n\nWhen we cut a new major release, we drop support for unmaintained versions of\nNode.\nThis means we try to keep the current release line,\n`remark-lint-mdx-jsx-quote-style@1`,\ncompatible with Node.js 16.\n\n## Contribute\n\nSee [`contributing.md`][github-dotfiles-contributing] in [`remarkjs/.github`][github-dotfiles-health] for ways\nto get started.\nSee [`support.md`][github-dotfiles-support] for ways to get help.\n\nThis project has a [code of conduct][github-dotfiles-coc].\nBy interacting with this repository, organization, or community you agree to\nabide by its terms.\n\n## License\n\n[MIT][file-license] © [Titus Wormer][author]\n\n[api-options]: #options\n\n[api-remark-lint-mdx-jsx-quote-style]: #unifieduseremarklintmdxjsxquotestyle-options\n\n[api-style]: #style\n\n[author]: https://wooorm.com\n\n[badge-build-image]: https://github.com/remarkjs/remark-lint/workflows/main/badge.svg\n\n[badge-build-url]: https://github.com/remarkjs/remark-lint/actions\n\n[badge-chat-image]: https://img.shields.io/badge/chat-discussions-success.svg\n\n[badge-chat-url]: https://github.com/remarkjs/remark/discussions\n\n[badge-coverage-image]: https://img.shields.io/codecov/c/github/remarkjs/remark-lint.svg\n\n[badge-coverage-url]: https://codecov.io/github/remarkjs/remark-lint\n\n[badge-downloads-image]: https://img.shields.io/npm/dm/remark-lint-mdx-jsx-quote-style.svg\n\n[badge-downloads-url]: https://www.npmjs.com/package/remark-lint-mdx-jsx-quote-style\n\n[badge-funding-backers-image]: https://opencollective.com/unified/backers/badge.svg\n\n[badge-funding-sponsors-image]: https://opencollective.com/unified/sponsors/badge.svg\n\n[badge-funding-url]: https://opencollective.com/unified\n\n[badge-size-image]: https://img.shields.io/bundlejs/size/remark-lint-mdx-jsx-quote-style\n\n[badge-size-url]: https://bundlejs.com/?q=remark-lint-mdx-jsx-quote-style\n\n[esm-sh]: https://esm.sh\n\n[file-license]: https://github.com/remarkjs/remark-lint/blob/main/license\n\n[github-dotfiles-coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md\n\n[github-dotfiles-contributing]: https://github.com/remarkjs/.github/blob/main/contributing.md\n\n[github-dotfiles-health]: https://github.com/remarkjs/.github\n\n[github-dotfiles-support]: https://github.com/remarkjs/.github/blob/main/support.md\n\n[github-gist-esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c\n\n[github-remark-lint]: https://github.com/remarkjs/remark-lint\n\n[github-remark-mdx]: https://mdxjs.com/packages/remark-mdx/\n\n[github-unified-transformer]: https://github.com/unifiedjs/unified#transformer\n\n[npm-install]: https://docs.npmjs.com/cli/install\n\n[typescript]: https://www.typescriptlang.org\n","readmeFilename":"readme.md"}