{"_id":"oxlint-plugin-comment-reflow","_rev":"5-9e3d3e8d981a5289c6b724ac7e8e29e8","name":"oxlint-plugin-comment-reflow","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"oxlint-plugin-comment-reflow","version":"0.1.0","keywords":["comments","formatter","jsdoc","oxlint","oxlint-plugin"],"author":{"name":"Diego Haz"},"license":"MIT","_id":"oxlint-plugin-comment-reflow@0.1.0","maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"homepage":"https://github.com/diegohaz/oxlint-plugin-comment-reflow#readme","bugs":{"url":"https://github.com/diegohaz/oxlint-plugin-comment-reflow/issues"},"dist":{"shasum":"a577ed02228527debbca5fb8696749a0d305828b","tarball":"https://registry.npmjs.org/oxlint-plugin-comment-reflow/-/oxlint-plugin-comment-reflow-0.1.0.tgz","fileCount":8,"integrity":"sha512-4LXXpJrhsHYAkpi9z9GPN7lZKw91G5mRLDfPYmYyYrGRrjNdbX4aqTpJ8wDmGkVnTqnBtp2TC8rnZSWk1I1PFA==","signatures":[{"sig":"MEYCIQCkCukq7AmwG5xVA1NCvFYvwLpQIXZNhlHCK5+kvkUNpQIhAOer/egIaT0NMbyiMuoN2E9Rr0VchvX2NT8FGXDfUkY9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29778},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^24.18.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./package.json":"./package.json"},"gitHead":"033f23efe74b47ba01f9b03a6c9ea42879b4fe7d","scripts":{"fix":"pnpm run lint:fix && pnpm run format","lint":"oxlint","test":"pnpm run build && vitest run","build":"rolldown -c","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm test","format":"oxfmt","prepack":"pnpm run build","release":"changeset publish","version":"changeset version && pnpm install --lockfile-only && oxfmt CHANGELOG.md package.json pnpm-lock.yaml","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","format:check":"oxfmt --check"},"_npmUser":{"name":"diegohaz","email":"hazdiego@gmail.com"},"repository":{"url":"git+https://github.com/diegohaz/oxlint-plugin-comment-reflow.git","type":"git"},"_npmVersion":"12.0.1","description":"Syntax-aware comment wrapping and safe trailing-comment placement for Oxlint.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@oxlint/plugins":"^1.81.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"packageManager":"pnpm@12.3.4","devDependencies":{"oxfmt":"0.66.0","oxlint":"1.81.0","vitest":"5.0.0","lefthook":"2.1.12","rolldown":"1.2.7","typescript":"7.0.2","@types/node":"24.13.3","@changesets/cli":"3.0.2","@changesets/types":"7.0.0","rolldown-plugin-dts":"0.28.5","@changesets/apply-release-plan":"8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-plugin-comment-reflow_0.1.0_1788794635435_0.8672274829641808","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"oxlint-plugin-comment-reflow","version":"0.1.1","keywords":["comments","formatter","jsdoc","oxlint","oxlint-plugin"],"author":"Diego Haz","license":"MIT","_id":"oxlint-plugin-comment-reflow@0.1.1","maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"homepage":"https://github.com/diegohaz/oxlint-plugin-comment-reflow#readme","bugs":{"url":"https://github.com/diegohaz/oxlint-plugin-comment-reflow/issues"},"dist":{"shasum":"7273f21e681381ce305135e2cc46ec910e8ebb51","tarball":"https://registry.npmjs.org/oxlint-plugin-comment-reflow/-/oxlint-plugin-comment-reflow-0.1.1.tgz","fileCount":8,"integrity":"sha512-wertIO1oP1kZhcN7lsf79EfdLq3o9VmeN1TDDzolxuJE8/euMCCh+933Fd0HPX7d6q1xf50JN04RZMk/gxzKKQ==","signatures":[{"sig":"MEQCIFxUuRIrxtGJ3oscei+kUgjbAza5tpBk6D4VYiOUU5IeAiA8S7FHjtoO5rO8xuhOwN5zw0Qgqr/hVf6H/KcEXSb2dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oxlint-plugin-comment-reflow@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29769},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^24.18.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./package.json":"./package.json"},"scripts":{"fix":"pnpm run lint:fix && pnpm run format","lint":"oxlint","test":"pnpm run build && vitest run","build":"rolldown -c","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm test","format":"oxfmt","release":"changeset publish","version":"changeset version && pnpm install --lockfile-only && oxfmt CHANGELOG.md package.json pnpm-lock.yaml","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","format:check":"oxfmt --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c42eff55-740c-42a2-85a1-c096b2fd2f20"}},"repository":{"url":"git+https://github.com/diegohaz/oxlint-plugin-comment-reflow.git","type":"git"},"description":"Syntax-aware comment wrapping and safe trailing-comment placement for Oxlint.","directories":{},"dependencies":{"@oxlint/plugins":"^1.81.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"0.66.0","oxlint":"1.81.0","vitest":"5.0.0","lefthook":"2.1.12","rolldown":"1.2.7","typescript":"7.0.2","@types/node":"24.13.3","@changesets/cli":"3.0.2","@changesets/types":"7.0.0","rolldown-plugin-dts":"0.28.5","@changesets/apply-release-plan":"8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-plugin-comment-reflow_0.1.1_1788797059654_0.2855640310478933","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"oxlint-plugin-comment-reflow","version":"0.1.2","keywords":["comments","formatter","jsdoc","oxlint","oxlint-plugin"],"author":"Diego Haz","license":"MIT","_id":"oxlint-plugin-comment-reflow@0.1.2","maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"homepage":"https://github.com/diegohaz/oxlint-plugin-comment-reflow#readme","bugs":{"url":"https://github.com/diegohaz/oxlint-plugin-comment-reflow/issues"},"dist":{"shasum":"5626b51db006da06671210d264fcc0b0a038f7c9","tarball":"https://registry.npmjs.org/oxlint-plugin-comment-reflow/-/oxlint-plugin-comment-reflow-0.1.2.tgz","fileCount":8,"integrity":"sha512-UeQtfDSvgNomke/sArDXFYY7lDVOFhVu6emnTuQCAk5RBf7ikJQUN/d80usBCR6Tk93OdiBbtFCDnZhmIOMGRg==","signatures":[{"sig":"MEQCIDbYOfzY67HxmcMLjmZCJg1XTUxPo5iO4xLf380jnEB1AiBost9+AF6f4bW+W6A7ePcd9XieQdMfgH7N2h+sP1TWIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oxlint-plugin-comment-reflow@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29896},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^24.18.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./package.json":"./package.json"},"scripts":{"fix":"pnpm run lint:fix && pnpm run format","lint":"oxlint","test":"pnpm run build && vitest run","build":"rolldown -c","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm test","format":"oxfmt","release":"changeset publish","version":"changeset version && pnpm install --lockfile-only && oxfmt CHANGELOG.md package.json pnpm-lock.yaml","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","format:check":"oxfmt --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c42eff55-740c-42a2-85a1-c096b2fd2f20"}},"repository":{"url":"git+https://github.com/diegohaz/oxlint-plugin-comment-reflow.git","type":"git"},"description":"Syntax-aware comment wrapping and safe trailing-comment placement for Oxlint.","directories":{},"dependencies":{"@oxlint/plugins":"^1.81.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"0.66.0","oxlint":"1.81.0","vitest":"5.0.0","lefthook":"2.1.12","rolldown":"1.2.7","typescript":"7.0.2","@types/node":"24.13.3","@changesets/cli":"3.0.2","@changesets/types":"7.0.0","rolldown-plugin-dts":"0.28.5","@changesets/apply-release-plan":"8.1.0"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-plugin-comment-reflow_0.1.2_1788803989438_0.08334489329664185","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"oxlint-plugin-comment-reflow","version":"0.2.0","keywords":["comments","formatter","jsdoc","oxlint","oxlint-plugin"],"author":"Diego Haz","license":"MIT","_id":"oxlint-plugin-comment-reflow@0.2.0","maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"homepage":"https://github.com/diegohaz/oxlint-plugin-comment-reflow#readme","bugs":{"url":"https://github.com/diegohaz/oxlint-plugin-comment-reflow/issues"},"dist":{"shasum":"e9b18a500954f4f985fbacdfeabd7d9eb22f3977","tarball":"https://registry.npmjs.org/oxlint-plugin-comment-reflow/-/oxlint-plugin-comment-reflow-0.2.0.tgz","fileCount":7,"integrity":"sha512-WAtekr/oIMaaUS5peTNcK6QP1bMmzvMfdICioRXD/lbWtCzRjMaVyKHe6UhgjYVNsX/sRZQfppZswoMFqzCzdg==","signatures":[{"sig":"MEQCIB7GItJ0SDJOVollFl1tjeYE1EyHCeuuDTz/nnfXMUQXAiBqsPsHNpRpykSNnyTuNaGde+LbTzt7dLZjuEg8uiYwFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oxlint-plugin-comment-reflow@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29888},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":"^24.18.0 || >=26.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./package.json":"./package.json"},"scripts":{"fix":"pnpm run lint:fix && pnpm run format","lint":"oxlint","test":"pnpm run build && vitest run","build":"rolldown -c","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm test","format":"oxfmt","release":"changeset publish","version":"changeset version && pnpm install --lockfile-only && oxfmt CHANGELOG.md package.json pnpm-lock.yaml","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","format:check":"oxfmt --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c42eff55-740c-42a2-85a1-c096b2fd2f20"}},"devEngines":{"runtime":{"name":"node","onFail":"download","version":"24.20.0"}},"repository":{"url":"git+https://github.com/diegohaz/oxlint-plugin-comment-reflow.git","type":"git"},"description":"Syntax-aware comment wrapping and safe trailing-comment placement for Oxlint.","directories":{},"dependencies":{"@oxlint/plugins":"^1.81.0"},"publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"0.66.0","oxlint":"1.81.0","vitest":"5.0.0","lefthook":"2.1.12","rolldown":"1.2.7","typescript":"7.0.2","@types/node":"24.13.3","@changesets/cli":"3.0.2","rolldown-plugin-dts":"0.28.5"},"_npmOperationalInternal":{"tmp":"tmp/oxlint-plugin-comment-reflow_0.2.0_1788950857193_0.9112576197989875","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"oxlint-plugin-comment-reflow","version":"0.2.1","description":"Syntax-aware comment wrapping and safe trailing-comment placement for Oxlint.","keywords":["comments","formatter","jsdoc","oxlint","oxlint-plugin"],"homepage":"https://github.com/diegohaz/oxlint-plugin-comment-reflow#readme","bugs":{"url":"https://github.com/diegohaz/oxlint-plugin-comment-reflow/issues"},"license":"MIT","author":"Diego Haz","repository":{"type":"git","url":"git+https://github.com/diegohaz/oxlint-plugin-comment-reflow.git"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core.d.ts","import":"./dist/core.js"},"./package.json":"./package.json"},"publishConfig":{"access":"public","provenance":false},"dependencies":{"@oxlint/plugins":"^1.81.0"},"devDependencies":{"@changesets/cli":"3.0.2","@types/node":"24.13.3","lefthook":"2.1.12","oxfmt":"0.66.0","oxlint":"1.81.0","rolldown":"1.2.7","rolldown-plugin-dts":"0.28.5","typescript":"7.0.2","vitest":"5.0.0"},"devEngines":{"runtime":{"name":"node","version":"24.20.0","onFail":"download"}},"engines":{"node":"^24.18.0 || >=26.0.0"},"scripts":{"build":"rolldown -c","lint":"oxlint","lint:fix":"oxlint --fix","format":"oxfmt","format:check":"oxfmt --check","fix":"pnpm run lint:fix && pnpm run format","typecheck":"tsc --noEmit","test":"pnpm run build && vitest run","check":"pnpm run lint && pnpm run format:check && pnpm run typecheck && pnpm test","changeset":"changeset","version":"changeset version && pnpm install --lockfile-only && oxfmt CHANGELOG.md package.json pnpm-lock.yaml","release":"changeset publish"},"_id":"oxlint-plugin-comment-reflow@0.2.1","dist":{"integrity":"sha512-1bqJ1v5bf9pk+4LD8SMmoHNQXobC904FI3PqEIOORttuzHRZ+5LcucynH0yhPsnT5L1SgBP3LsyWy9F74zm2gA==","shasum":"2bcc7dbd28c22aa8137749fe93c007dc792b05fe","tarball":"https://registry.npmjs.org/oxlint-plugin-comment-reflow/-/oxlint-plugin-comment-reflow-0.2.1.tgz","fileCount":7,"unpackedSize":31300,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/oxlint-plugin-comment-reflow@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDfmOHWlBvM9ijEn7+ACWztQihqZb8ABgmtan15gPZ2xgIgF+yo1ikLmIHCX562xo7Opuu7EqR/jHGQkbLEuAHjUW4="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c42eff55-740c-42a2-85a1-c096b2fd2f20"}},"directories":{},"maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/oxlint-plugin-comment-reflow_0.2.1_1789157424527_0.04272046130040241"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-07T15:23:55.194Z","modified":"2026-09-11T20:10:25.018Z","0.1.0":"2026-09-07T15:23:55.576Z","0.1.1":"2026-09-07T16:04:19.844Z","0.1.2":"2026-09-07T17:59:49.574Z","0.2.0":"2026-09-09T10:47:37.327Z","0.2.1":"2026-09-11T20:10:24.677Z"},"bugs":{"url":"https://github.com/diegohaz/oxlint-plugin-comment-reflow/issues"},"author":"Diego Haz","license":"MIT","homepage":"https://github.com/diegohaz/oxlint-plugin-comment-reflow#readme","keywords":["comments","formatter","jsdoc","oxlint","oxlint-plugin"],"repository":{"type":"git","url":"git+https://github.com/diegohaz/oxlint-plugin-comment-reflow.git"},"description":"Syntax-aware comment wrapping and safe trailing-comment placement for Oxlint.","maintainers":[{"name":"diegohaz","email":"hazdiego@gmail.com"}],"readme":"# oxlint-plugin-comment-reflow\n\nWrap comment prose and move eligible trailing comments above their target.\nThe plugin uses Oxlint's parser for JavaScript, JSX, TypeScript, and TSX.\n\n## Install and configure\n\nUse Node 24.18 or later in the Node 24 line, or Node 26 or later.\nThe tested Oxlint version is 1.81.0. Oxlint's JavaScript plugin API is still\nin alpha. ESLint support is not claimed.\n\n```sh\npnpm add -D oxlint@1.81.0 oxlint-plugin-comment-reflow\n```\n\nAdd this configuration to `.oxlintrc.json`:\n\n```json\n{\n  \"jsPlugins\": [\n    {\n      \"name\": \"comment-reflow\",\n      \"specifier\": \"oxlint-plugin-comment-reflow\"\n    }\n  ],\n  \"rules\": {\n    \"comment-reflow/reflow\": [\n      \"warn\",\n      { \"printWidth\": 80, \"trailingComments\": \"overflow\" }\n    ]\n  }\n}\n```\n\nFor `oxlint.config.ts`, use the recommended configuration:\n\n```ts\nimport { defineConfig } from \"oxlint\";\nimport { recommended } from \"oxlint-plugin-comment-reflow\";\n\nexport default defineConfig(recommended);\n```\n\nThe recommended configuration enables the rule as a warning with its defaults.\nThe default export also provides `plugin.configs.recommended` and\n`plugin.rules.reflow`. Merge `jsPlugins` and `rules` when you combine this\nconfiguration with other plugins.\n\nThe package name is `oxlint-plugin-comment-reflow`. The rule namespace is\n`comment-reflow`. The explicit alias above fixes that namespace. Loading the\npackage by name without an alias also works: its `meta.name` is `comment-reflow`.\nOxlint resolves plugin specifiers relative to the configuration file. See the\n[official plugin guide](https://oxc.rs/docs/guide/usage/linter/js-plugins).\n\n```sh\npnpm exec oxlint --fix src\n```\n\n## Rule options\n\n| Option             | Default      | Behavior                                                    |\n| ------------------ | ------------ | ----------------------------------------------------------- |\n| `printWidth`       | `80`         | Positive integer. Includes indentation and comment markers. |\n| `trailingComments` | `\"overflow\"` | One of `\"ignore\"`, `\"always\"`, or `\"overflow\"`.             |\n\n`printWidth` is a prose target. Long URLs, links, inline code, and other\nindivisible tokens can exceed it. The width counts Unicode code points.\nTabs advance to the next four-column stop. It does not measure the display\nwidth of grapheme clusters or wide characters.\n\n- `ignore` leaves trailing comments unchanged. Standalone comments still reflow.\n- `always` moves eligible trailing comments, even when the source line fits.\n- `overflow` moves them only when the complete source line exceeds the target.\n\nFor example, at a width of 50:\n\n```ts\nconst foo = \"a\"; // A long explanation that exceeds the configured width.\n```\n\nBecomes:\n\n```ts\n// A long explanation that exceeds the configured\n// width.\nconst foo = \"a\";\n```\n\nAdjacent standalone `//` comments form paragraphs when their source indentation\nmatches. Empty comment lines and empty source lines separate paragraphs. Lists\nkeep their markers and continuation indentation. The formatter keeps Markdown\nlinks, JSDoc references, and inline code together.\n\n## Placement and preservation\n\nThe plugin leaves comment-like text in strings, template literals, regular\nexpressions, and JSX text unchanged.\n\nStandalone `//` and `/* */` comments between JSX props reflow. Block comments\ninside empty JSX expressions, such as `{/* Explanation */}`, reflow inside their\nbraces. Standalone line comments inside these expressions also reflow. Comments\nbeside an expression value stay unchanged.\n\nMoving a comment requires an unambiguous statement or member on one source\nline. The target must start after indentation only. The comment must be the\nlast content on the line. Object properties, class fields, and TypeScript\ninterface members are supported. A source line with multiple statements or\nmembers is left unchanged. Multiline targets, control-flow statements, methods,\nand comments inside expressions are left in place.\n\nDirectives, type annotations, coverage instructions, compiler pragmas, license\nheaders, and triple-slash references stay unchanged. A protected line comment\nalso protects its adjacent line-comment group. A move cannot detach a preceding\n`eslint-disable-next-line` or `@ts-expect-error` from its target. When a moved\nline comment follows an existing leading paragraph, a blank `//` line separates\nthe paragraphs. This makes the first fix stable on subsequent runs.\n\nJSDoc prose and supported tag descriptions wrap. Tag names, order, types,\nparameter names, default values, and references stay intact. Description tags\ninclude `@param`, `@arg`, `@argument`, `@property`, `@prop`, `@return`, `@returns`,\n`@throw`, `@throws`, `@exception`, `@description`, `@desc`, `@summary`, `@remarks`,\nand `@deprecated`. Unknown tags and their continuation lines stay unchanged.\n\nFences keep their language, metadata, indentation, code, and closing delimiter.\nUnfenced `@example` bodies stay unchanged until the next tag. No code formatter\nruns on examples.\n\nOrdinary single-line blocks can expand. Conventional starred blocks and plain\nmultiline blocks can reflow. Nonstandard block layouts, indented code, common\ncode-like lines, tables, headings, hard breaks, and unmatched inline markup\nare preserved. This is a conservative prose formatter, not a full Markdown or\nJSDoc parser. Put code in fences or in an `@example` body when its structure\ncannot be distinguished from prose.\n\nIf a multiline block starts with a `*` line aligned under the first `*` in its\nopening marker, the rule reports later nonblank lines that lack a `*` prefix.\nInside JSX expressions, alignment uses the expression's indentation, as reflow does.\nThe opening and closing markers must be on separate lines. These reports have\nno autofix. Restore the missing prefixes, then run `--fix` to reflow the prose.\nBlank lines and prefixes without a following space, such as `*text`, are not\nreported. Plain blocks with `*` bullets and unstarred JSDoc blocks stay unchanged.\n\n## Use with Oxfmt and an editor\n\nSet the same width in both tools. Disable Oxfmt's JSDoc formatter explicitly in\n`.oxfmtrc.json`:\n\n```json\n{\n  \"printWidth\": 80,\n  \"jsdoc\": false\n}\n```\n\nOxfmt documents this setting in its\n[configuration reference](https://oxc.rs/docs/guide/usage/formatter/config-file-reference).\nThe plugin does not call Oxfmt's JSDoc formatter.\n\nFor a first cleanup, format the source before comment reflow. This lets the\nplugin use the final code indentation and line length:\n\n```sh\npnpm exec oxfmt src\npnpm exec oxlint --fix src\n```\n\nKeep indentation and line-ending settings consistent. Other rules that rewrite\ncomments or move code can need another cleanup pass.\n\nFor VS Code, install the\n[Oxc extension](https://oxc.rs/docs/guide/usage/linter/editors) and use:\n\n```json\n{\n  \"[javascript][javascriptreact][typescript][typescriptreact]\": {\n    \"editor.defaultFormatter\": \"oxc.oxc-vscode\",\n    \"editor.formatOnSave\": true,\n    \"editor.codeActionsOnSave\": {\n      \"source.fixAll.oxc\": \"explicit\"\n    }\n  }\n}\n```\n\nKeep the package installed in the project that contains the Oxlint configuration.\n\n## Use the prose API\n\nUse `reflowText` to wrap comment text directly:\n\n```ts\nimport { reflowText } from \"oxlint-plugin-comment-reflow/core\";\n\nreflowText([\"Two short\", \"lines form one paragraph.\"], 80);\n// [\"Two short lines form one paragraph.\"]\n```\n\n## Contributing\n\nSee [Contributing.md](https://github.com/diegohaz/oxlint-plugin-comment-reflow/blob/main/Contributing.md)\nfor development setup and checks.\n","readmeFilename":""}