{"_id":"@dvyio/prettier-plugin-collapse-markdown-tables","_rev":"5-31fd6aaff968bdfd1f8432757c8b678e","name":"@dvyio/prettier-plugin-collapse-markdown-tables","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@dvyio/prettier-plugin-collapse-markdown-tables","version":"0.1.0","keywords":["formatting","markdown","markdown-tables","prettier","prettier-plugin","tables"],"author":{"url":"https://dvy.io","name":"Davey Barker"},"license":"MIT","_id":"@dvyio/prettier-plugin-collapse-markdown-tables@0.1.0","maintainers":[{"name":"dvyio","email":"david@davidbarker.me"}],"homepage":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables#readme","bugs":{"url":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/issues"},"dist":{"shasum":"b15cfafe2d5b47a17ca34d90d89d3fd038ad09e5","tarball":"https://registry.npmjs.org/@dvyio/prettier-plugin-collapse-markdown-tables/-/prettier-plugin-collapse-markdown-tables-0.1.0.tgz","fileCount":18,"integrity":"sha512-ATHD3xl7lc7T1SBksnOC+VY/t70vl5G2JRmLxPiUlQ39HX7207rGx6NTnjQ069ngReLHEfid11zNgBWQrSNBAg==","signatures":[{"sig":"MEYCIQChP8PmzHH2nKEcUNIhuyd3pLVfu39vj6GiN1uA1wZJ8QIhAOpdqrRQ0zVX7oM0WBty2fhO3DTqSNCNtsncOjICdbeD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvyio%2fprettier-plugin-collapse-markdown-tables@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442300},"knip":{"ignoreDependencies":["husky","prettier-3-0"]},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.12"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4cfde4f93dd2162f30516193244556523c15c1ae","scripts":{"knip":"knip","lint":"eslint . --max-warnings=0","test":"npm run build && vitest run","build":"node scripts/build.mjs","check":"npm run build && npm run typecheck && npm run lint && npm run format && npm run knip && npm run test:coverage:built && npm run format:dogfood:check:built","format":"prettier --check . --log-level warn","prepack":"npm run build","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit -p tsconfig.test.json","format:fix":"prettier --write . --log-level warn","pack:check":"npm pack --dry-run --json --silent","test:stress":"NORMALIZE_MARKDOWN_TABLES_STRESS=1 vitest run tests/normalizeMarkdownTables.test.ts tests/prettierPlugin.test.ts -t \"stays fast|rendering stays fast|scanning stays fast|quickly|list context stays fast|smoke-test limit|retained heap\"","check:release":"npm run check && npm run test:stress && npm run test:mutation && npm run pack:check","test:coverage":"npm run build && npm run test:coverage:built","test:mutation":"stryker run","prepublishOnly":"npm --dry-run=false run check:release","format:dogfood:fix":"npm run build && prettier --write README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn","test:coverage:built":"vitest run --coverage","format:dogfood:check":"npm run build && npm run format:dogfood:check:built","format:dogfood:check:built":"prettier --check README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn"},"_npmUser":{"name":"dvyio","email":"david@davidbarker.me"},"repository":{"url":"git+https://github.com/dvyio/prettier-plugin-collapse-markdown-tables.git","type":"git"},"_npmVersion":"11.13.0","description":"Prettier plugin that collapses Markdown table padding.","directories":{},"lint-staged":{"*.{js,ts,mjs,cjs}":["eslint --max-warnings=0","prettier --check"],"*.{json,md,yml,yaml}":["prettier --check"],"*.{css,scss,sass,less}":["prettier --check"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.7.0","husky":"^9.1.7","eslint":"^10.2.1","vitest":"4.1.5","esbuild":"^0.28.0","globals":"^17.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"22.19.17","lint-staged":"^16.4.0","prettier-3-0":"npm:prettier@3.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.5","@stryker-mutator/core":"^9.6.1","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^5.9.0","eslint-plugin-unused-imports":"^4.4.1","@stryker-mutator/vitest-runner":"^9.6.1"},"peerDependencies":{"prettier":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prettier-plugin-collapse-markdown-tables_0.1.0_1777993092180_0.663100146601582","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dvyio/prettier-plugin-collapse-markdown-tables","version":"0.1.1","keywords":["formatting","markdown","markdown-tables","prettier","prettier-plugin","tables"],"author":{"url":"https://dvy.io","name":"Davey Barker"},"license":"MIT","_id":"@dvyio/prettier-plugin-collapse-markdown-tables@0.1.1","maintainers":[{"name":"dvyio","email":"david@davidbarker.me"}],"homepage":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables#readme","bugs":{"url":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/issues"},"dist":{"shasum":"6a489ee28421b63b547b18ed47d86ee68239a89f","tarball":"https://registry.npmjs.org/@dvyio/prettier-plugin-collapse-markdown-tables/-/prettier-plugin-collapse-markdown-tables-0.1.1.tgz","fileCount":18,"integrity":"sha512-n5l9d4oIr56kuXTIzAGXv1M7GJeTeL6dtlnIaGLEPe3e1yQQ1ncZWXtisX7r2dz7fOHAfSnNhQFZ4tpxZ5rq0A==","signatures":[{"sig":"MEUCIQCHwLiL+ePlkZ3IHCOovUcM9fnc34GesRA/p2T0QZRGBQIgCCXgWQjFD7sew2PC/TUQ9TcVsLsaWBGEoVQjiRImw/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvyio%2fprettier-plugin-collapse-markdown-tables@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442682},"knip":{"ignoreDependencies":["husky","prettier-3-0"]},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"feb3aa52aef062912570686fe0332ae33ddf3e27","scripts":{"knip":"knip","lint":"eslint . --max-warnings=0","test":"npm run build && vitest run","build":"node scripts/build.mjs","check":"npm run build && npm run typecheck && npm run lint && npm run format && npm run knip && npm run test:coverage:built && npm run format:dogfood:check:built","format":"prettier --check . --log-level warn","prepack":"npm run build","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit -p tsconfig.test.json","format:fix":"prettier --write . --log-level warn","pack:check":"npm pack --dry-run --json --silent","test:stress":"NORMALIZE_MARKDOWN_TABLES_STRESS=1 vitest run tests/normalizeMarkdownTables.test.ts tests/prettierPlugin.test.ts -t \"stays fast|rendering stays fast|scanning stays fast|quickly|list context stays fast|smoke-test limit|retained heap\"","check:release":"npm run check && npm run test:stress && npm run test:mutation && npm run pack:check","test:coverage":"npm run build && npm run test:coverage:built","test:mutation":"stryker run","prepublishOnly":"npm --dry-run=false run check:release","format:dogfood:fix":"npm run build && prettier --write README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn","test:coverage:built":"vitest run --coverage","format:dogfood:check":"npm run build && npm run format:dogfood:check:built","format:dogfood:check:built":"prettier --check README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e709cb04-13cf-4789-94e0-5841f6d2c46e"}},"repository":{"url":"git+https://github.com/dvyio/prettier-plugin-collapse-markdown-tables.git","type":"git"},"_npmVersion":"11.13.0","description":"Prettier plugin that collapses Markdown table padding.","directories":{},"lint-staged":{"*.{js,ts,mjs,cjs}":["eslint --max-warnings=0","prettier --check"],"*.{json,md,yml,yaml}":["prettier --check"],"*.{css,scss,sass,less}":["prettier --check"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.7.0","husky":"^9.1.7","eslint":"^10.2.1","vitest":"4.1.5","esbuild":"^0.28.0","globals":"^17.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"22.19.17","lint-staged":"^16.4.0","prettier-3-0":"npm:prettier@3.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.5","@stryker-mutator/core":"^9.6.1","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^5.9.0","eslint-plugin-unused-imports":"^4.4.1","@stryker-mutator/vitest-runner":"^9.6.1"},"peerDependencies":{"prettier":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prettier-plugin-collapse-markdown-tables_0.1.1_1778072787457_0.002136976843536642","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dvyio/prettier-plugin-collapse-markdown-tables","version":"0.2.0","keywords":["formatting","markdown","markdown-tables","prettier","prettier-plugin","tables"],"author":{"url":"https://dvy.io","name":"Davey Barker"},"license":"MIT","_id":"@dvyio/prettier-plugin-collapse-markdown-tables@0.2.0","maintainers":[{"name":"dvyio","email":"david@davidbarker.me"}],"homepage":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables#readme","bugs":{"url":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/issues"},"dist":{"shasum":"03f3d0aec1afab382a1ab5a320410313bd8abbd2","tarball":"https://registry.npmjs.org/@dvyio/prettier-plugin-collapse-markdown-tables/-/prettier-plugin-collapse-markdown-tables-0.2.0.tgz","fileCount":18,"integrity":"sha512-lWn6FMujQqGTaGix4mHV2lZ1mHQjlnwjitxFKcL5mDlGaYuvYRgTjZv+fgX6ZY8tD4XWwywDSHUvDGJiXNtqUA==","signatures":[{"sig":"MEYCIQD5FFSd5zk7QI6wQIjQ1pIAwAgfciupTxMGvP4y5TQGWAIhAOrV94xPPcWCejengtIHGPS7UCRume7BEah+m3K4pqVV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvyio%2fprettier-plugin-collapse-markdown-tables@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":472978},"knip":{"ignoreDependencies":["husky","prettier-3-0"]},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b2efe64f667b64de66c74d3485d5705b2c4bbdc5","scripts":{"knip":"knip","lint":"eslint . --max-warnings=0","test":"npm run build && vitest run","build":"node scripts/build.mjs","check":"npm run build && npm run typecheck && npm run lint && npm run format && npm run knip && npm run test:coverage:built && npm run format:dogfood:check:built","format":"prettier --check . --log-level warn","prepack":"npm run build","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit -p tsconfig.test.json","format:fix":"prettier --write . --log-level warn","pack:check":"npm pack --dry-run --json --silent","test:stress":"NORMALIZE_MARKDOWN_TABLES_STRESS=1 vitest run tests/normalizeMarkdownTables.test.ts tests/prettierPlugin.test.ts -t \"stays fast|rendering stays fast|scanning stays fast|quickly|list context stays fast|smoke-test limit|retained heap\"","check:release":"npm run check && npm run test:stress && npm run test:mutation && npm run pack:check","test:coverage":"npm run build && npm run test:coverage:built","test:mutation":"stryker run","prepublishOnly":"npm --dry-run=false run check:release","format:dogfood:fix":"npm run build && prettier --write README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn","test:coverage:built":"vitest run --coverage","format:dogfood:check":"npm run build && npm run format:dogfood:check:built","format:dogfood:check:built":"prettier --check README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e709cb04-13cf-4789-94e0-5841f6d2c46e"}},"repository":{"url":"git+https://github.com/dvyio/prettier-plugin-collapse-markdown-tables.git","type":"git"},"_npmVersion":"11.14.0","description":"Prettier plugin that collapses Markdown table padding.","directories":{},"lint-staged":{"*.{js,ts,mjs,cjs}":["eslint --max-warnings=0","prettier --check"],"*.{json,md,yml,yaml}":["prettier --check"],"*.{css,scss,sass,less}":["prettier --check"]},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.7.0","husky":"^9.1.7","eslint":"^10.2.1","vitest":"4.1.5","esbuild":"^0.28.0","globals":"^17.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"22.19.17","lint-staged":"^16.4.0","prettier-3-0":"npm:prettier@3.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.5","@stryker-mutator/core":"^9.6.1","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^5.9.0","eslint-plugin-unused-imports":"^4.4.1","@stryker-mutator/vitest-runner":"^9.6.1"},"peerDependencies":{"prettier":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prettier-plugin-collapse-markdown-tables_0.2.0_1778200615767_0.7786702268451784","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dvyio/prettier-plugin-collapse-markdown-tables","version":"0.2.1","keywords":["formatting","markdown","markdown-tables","prettier","prettier-plugin","tables"],"author":{"url":"https://dvy.io","name":"Davey Barker"},"license":"MIT","_id":"@dvyio/prettier-plugin-collapse-markdown-tables@0.2.1","maintainers":[{"name":"dvyio","email":"david@davidbarker.me"}],"homepage":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables#readme","bugs":{"url":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/issues"},"dist":{"shasum":"ff9c95a9ad361c1d4a5fbcea518b82f0186941ee","tarball":"https://registry.npmjs.org/@dvyio/prettier-plugin-collapse-markdown-tables/-/prettier-plugin-collapse-markdown-tables-0.2.1.tgz","fileCount":18,"integrity":"sha512-Go5oXSwg6NSn95J0VbNVSo0JdALR/178HtZU7Yj8zeoDy2oc1WKQ1oK5DuIfISrNyz9nSl+RtuE34oaZsFv1/g==","signatures":[{"sig":"MEUCIQD/CqocP0XjAsTwGEfAHr9wLcO4ItymrqnymR9NEtyHKgIgcb7tuPsA2O/pfBI/jedS9cJI8iUACpwBTyjGeY7AhSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvyio%2fprettier-plugin-collapse-markdown-tables@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":742480},"knip":{"ignoreDependencies":["husky","prettier-3-0"]},"type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"990145f6ac74d556e723798685de8efe1d1c86dc","scripts":{"knip":"knip","lint":"eslint . --max-warnings=0","test":"npm run build && vitest run","build":"node scripts/build.mjs","check":"npm run build && npm run typecheck && npm run lint && npm run format && npm run knip && npm run test:coverage:built && npm run format:dogfood:check:built","format":"prettier --check . --log-level warn","prepack":"npm run build","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit -p tsconfig.test.json","format:fix":"prettier --write . --log-level warn","pack:check":"npm pack --dry-run --json --silent","test:stress":"NORMALIZE_MARKDOWN_TABLES_STRESS=1 vitest run tests/normalizeMarkdownTables.test.ts tests/prettierPlugin.test.ts -t \"stays fast|rendering stays fast|scanning stays fast|quickly|list context stays fast|smoke-test limit|retained heap\"","check:release":"npm run check && npm run test:stress && npm run test:mutation && npm run pack:check","test:coverage":"npm run build && npm run test:coverage:built","test:mutation":"stryker run","prepublishOnly":"npm --dry-run=false run check:release","format:dogfood:fix":"npm run build && prettier --write README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn","test:coverage:built":"vitest run --coverage","format:dogfood:check":"npm run build && npm run format:dogfood:check:built","check:prettier-latest":"npm run build && npm run typecheck && npm run lint && npm run knip && npm run test:coverage:built && npm run format:dogfood:check:built","format:dogfood:check:built":"prettier --check README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e709cb04-13cf-4789-94e0-5841f6d2c46e"}},"repository":{"url":"git+https://github.com/dvyio/prettier-plugin-collapse-markdown-tables.git","type":"git"},"_npmVersion":"11.19.0","description":"Prettier plugin that collapses Markdown table padding.","directories":{},"lint-staged":{"*.{js,ts,mjs,cjs}":["eslint --max-warnings=0","prettier --check"],"*.{json,md,yml,yaml}":["prettier --check"],"*.{css,scss,sass,less}":["prettier --check"]},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.7.0","husky":"^9.1.7","eslint":"^10.2.1","vitest":"4.1.5","esbuild":"^0.28.0","globals":"^17.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"22.19.17","lint-staged":"^16.4.0","prettier-3-0":"npm:prettier@3.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.5","@stryker-mutator/core":"^9.6.1","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^5.9.0","eslint-plugin-unused-imports":"^4.4.1","@stryker-mutator/vitest-runner":"^9.6.1"},"peerDependencies":{"prettier":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prettier-plugin-collapse-markdown-tables_0.2.1_1786595047682_0.3755681620154161","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@dvyio/prettier-plugin-collapse-markdown-tables@0.3.0","bugs":{"url":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/issues"},"dist":{"shasum":"32c434234fae64e2e793e251ef1e188cbc066fdc","tarball":"https://registry.npmjs.org/@dvyio/prettier-plugin-collapse-markdown-tables/-/prettier-plugin-collapse-markdown-tables-0.3.0.tgz","fileCount":18,"integrity":"sha512-hgrkuR0KQhvKDZ/gkUVLSyuxhwFgxAJK4T5EWvZ9c+aobSVP2Tx9oCgSpO7JO+wz+oBecN5A8ep7D2DlAQWGqQ==","signatures":[{"sig":"MEUCIC1xiUT9t3TGL0rt75GaV6Dh9Y+FNAdmxPB8JyolTVzgAiEA5cgf9Qbrk9wDDrTifmnQAHmooWQtUJ+qpKX+0TKejlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDjkYqWgjZUVGvexZifS/o9P/BddWvqrnbCa/ymIYoR+AiArLyjrBLNjttMbaCwd0K9qc/VG2/FGOgQoD5ntNRFJ3w=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dvyio%2fprettier-plugin-collapse-markdown-tables@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":770851},"knip":{"ignoreDependencies":["husky","prettier-3-0"]},"name":"@dvyio/prettier-plugin-collapse-markdown-tables","type":"module","types":"./dist/index.d.ts","author":{"url":"https://dvy.io","name":"Davey Barker"},"engines":{"node":">=20.19.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"266ac33a17c5399f8807c15e00323cbb27c36366","license":"MIT","scripts":{"knip":"knip","lint":"eslint . --max-warnings=0","test":"npm run build && vitest run","build":"node scripts/build.mjs","check":"npm run build && npm run typecheck && npm run lint && npm run format && npm run knip && npm run test:coverage:built && npm run format:dogfood:check:built","format":"prettier --check . --log-level warn","prepack":"npm run build","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit -p tsconfig.test.json","format:fix":"prettier --write . --log-level warn","pack:check":"npm pack --dry-run --json --silent","test:stress":"NORMALIZE_MARKDOWN_TABLES_STRESS=1 vitest run tests/normalizeMarkdownTables.test.ts tests/prettierPlugin.test.ts -t \"stays fast|rendering stays fast|scanning stays fast|quickly|list context stays fast|smoke-test limit|retained heap\"","check:release":"npm run check && npm run test:stress && npm run test:mutation && npm run pack:check","test:coverage":"npm run build && npm run test:coverage:built","test:mutation":"stryker run","prepublishOnly":"npm --dry-run=false run check:release","format:dogfood:fix":"npm run build && prettier --write README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn","test:coverage:built":"vitest run --coverage","format:dogfood:check":"npm run build && npm run format:dogfood:check:built","check:prettier-latest":"npm run build && npm run typecheck && npm run lint && npm run knip && npm run test:coverage:built && npm run format:dogfood:check:built","format:dogfood:check:built":"prettier --check README.md CONTRIBUTING.md SECURITY.md tests/dogfood/markdown-tables.md --plugin ./dist/index.js --markdown-table-style spaced --ignore-path .prettierignore.dogfood --log-level warn"},"version":"0.3.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"e709cb04-13cf-4789-94e0-5841f6d2c46e"}},"homepage":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables#readme","keywords":["formatting","markdown","markdown-tables","prettier","prettier-plugin","tables"],"repository":{"url":"git+https://github.com/dvyio/prettier-plugin-collapse-markdown-tables.git","type":"git"},"_npmVersion":"11.20.0","description":"Prettier plugin that collapses Markdown table padding.","directories":{},"lint-staged":{"*.{js,ts,mjs,cjs}":["eslint --max-warnings=0","prettier --check"],"*.{json,md,yml,yaml}":["prettier --check"],"*.{css,scss,sass,less}":["prettier --check"]},"maintainers":[{"name":"dvyio","email":"david@davidbarker.me"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.7.0","husky":"^9.1.7","eslint":"^10.2.1","vitest":"4.1.5","esbuild":"^0.28.0","globals":"^17.5.0","prettier":"^3.8.3","@eslint/js":"^10.0.1","typescript":"^5.9.3","@types/node":"22.19.17","lint-staged":"^16.4.0","prettier-3-0":"npm:prettier@3.0.0","typescript-eslint":"^8.59.1","@vitest/coverage-v8":"^4.1.5","@stryker-mutator/core":"^9.6.1","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^5.9.0","eslint-plugin-unused-imports":"^4.4.1","@stryker-mutator/vitest-runner":"^9.6.1"},"peerDependencies":{"prettier":"^3.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prettier-plugin-collapse-markdown-tables_0.3.0_1790713837184_0.040865537067498625"}}},"time":{"created":"2026-05-05T14:58:12.058Z","modified":"2026-09-29T20:30:37.677Z","0.1.0":"2026-05-05T14:58:12.332Z","0.1.1":"2026-05-06T13:06:27.598Z","0.2.0":"2026-05-08T00:36:55.927Z","0.2.1":"2026-08-13T04:24:07.830Z","0.3.0":"2026-09-29T20:30:37.301Z"},"bugs":{"url":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/issues"},"author":{"url":"https://dvy.io","name":"Davey Barker"},"license":"MIT","homepage":"https://github.com/dvyio/prettier-plugin-collapse-markdown-tables#readme","keywords":["formatting","markdown","markdown-tables","prettier","prettier-plugin","tables"],"repository":{"url":"git+https://github.com/dvyio/prettier-plugin-collapse-markdown-tables.git","type":"git"},"description":"Prettier plugin that collapses Markdown table padding.","maintainers":[{"name":"dvyio","email":"david@davidbarker.me"}],"readme":"# @dvyio/prettier-plugin-collapse-markdown-tables\n\nFormat Markdown tables without Prettier's wide column alignment.\n\nThe plugin runs after Prettier's Markdown printer. It keeps real Markdown tables readable while leaving code samples, ignored blocks, and MDX code-like content alone.\n\n## Project Links\n\n- Repository: [github.com/dvyio/prettier-plugin-collapse-markdown-tables](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables)\n- Report bugs: [GitHub issues](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/issues)\n- Contributing: [CONTRIBUTING.md](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/CONTRIBUTING.md)\n- Security: [SECURITY.md](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/SECURITY.md)\n- License: [MIT](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/LICENSE)\n\n## Requirements\n\n- Node `>=20.19.0`\n- Prettier `^3.0.0`\n\nThe test suite checks the packed plugin with Prettier `3.0.0` and the current Prettier `3.x` release used by this repo.\n\nCI checks Node `20.x`, Node `22.x`, and Node `24.x`. Each Node job has two Prettier lanes: the lockfile install and a fresh `prettier@^3` install. The lockfile lanes own repository source formatting. The latest-Prettier lanes still build, typecheck, lint, run the tests, dogfood the plugin, and inspect the package without applying a different Prettier minor's source style. That makes the package fail fast when either the minimum Node version, the supported Prettier peer range, or the packed release shape breaks.\n\nNode versions newer than `24.x` are allowed by `engines.node` and are expected to work, but they are not separately certified by CI yet.\n\n## Install\n\nInstall the plugin from npm with Prettier:\n\n```bash\nnpm install --save-dev prettier @dvyio/prettier-plugin-collapse-markdown-tables\n```\n\nFor local development, install this package's dependencies once:\n\n```bash\nnpm install\n```\n\nBuild this package before installing it from a local path:\n\n```bash\nnpm run build\n```\n\nThen install it from the consuming project without running install scripts:\n\n```bash\nnpm install --save-dev --ignore-scripts prettier ../prettier-plugin-collapse-markdown-tables\n```\n\nIf you skip `--ignore-scripts`, npm may run pack lifecycle scripts while it copies a local path or git package. Use that only for sources you trust.\n\nYou can also test the package shape before publishing or installing it elsewhere:\n\n```bash\nnpm run pack:check\n```\n\nRelease notes and the version policy live in [CHANGELOG.md](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/CHANGELOG.md).\nRelease steps live in [docs/release-runbook.md](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/docs/release-runbook.md).\n\n## Release\n\nBefore publishing a release, run the release gate:\n\n```bash\nnpm run check:release\n```\n\nAfter `main` CI passes, GitHub Actions creates the release tag, publishes through npm trusted publishing, and creates the GitHub release. See [docs/release-runbook.md](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/docs/release-runbook.md) for the full release flow.\n\n## License\n\nMIT. See [LICENSE](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/LICENSE).\n\n## Configure\n\nUse the plugin from your Prettier config:\n\n```json\n{\n  \"plugins\": [\"@dvyio/prettier-plugin-collapse-markdown-tables\"],\n  \"markdownTableStyle\": \"spaced\"\n}\n```\n\nYou can also pass it on the CLI:\n\n```bash\nnpx prettier --write README.md --plugin @dvyio/prettier-plugin-collapse-markdown-tables\n```\n\nThis package is ESM-only. CommonJS projects can still load the plugin by package name from `.prettierrc.cjs`:\n\n```js\nmodule.exports = {\n  plugins: ['@dvyio/prettier-plugin-collapse-markdown-tables'],\n};\n```\n\nDo not call `require(\"@dvyio/prettier-plugin-collapse-markdown-tables\")` from CommonJS code. This package does not ship a CommonJS build.\n\n### Plugin Ordering\n\nThis plugin must be the active Markdown printer. It wraps Prettier's built-in Markdown printer, checks whether the document can contain tables, then rewrites the final Markdown text.\n\nThat final rewrite is an adapter boundary. Prettier owns Markdown and MDX parsing. This plugin owns a smaller post-print table pass. That keeps this package small, but it means parser wrapping, protected regions, range formatting, cursor mapping, and package compatibility need focused tests.\n\nIf another plugin also registers a Markdown `mdast` printer, only one printer runs. This plugin does not compose with that printer or use its custom output. It always wraps Prettier's built-in Markdown printer.\n\nPut `@dvyio/prettier-plugin-collapse-markdown-tables` after other Markdown plugins when you want table collapsing to run. In that setup, this plugin replaces their Markdown printer for the final print step. If another Markdown printer appears after this plugin, that printer can replace this plugin and bypass table collapsing.\n\nReliable setup:\n\n```json\n{\n  \"plugins\": [\n    \"another-markdown-printer\",\n    \"@dvyio/prettier-plugin-collapse-markdown-tables\"\n  ],\n  \"markdownTableStyle\": \"spaced\"\n}\n```\n\nAvoid this order:\n\n```json\n{\n  \"plugins\": [\n    \"@dvyio/prettier-plugin-collapse-markdown-tables\",\n    \"another-markdown-printer\"\n  ]\n}\n```\n\n## Options\n\n### `markdownTableStyle: \"spaced\"`\n\nThis is the default. It writes one space inside each table cell.\n\nBefore:\n\n```text\n| Name  | Role        |\n| ----- | ----------- |\n| Davey | Builder     |\n```\n\nAfter:\n\n```text\n| Name | Role |\n| --- | --- |\n| Davey | Builder |\n```\n\n### `markdownTableStyle: \"compact\"`\n\nThis removes padding inside table cells.\n\nBefore:\n\n```text\n| Name  | Role        |\n| ----- | ----------- |\n| Davey | Builder     |\n```\n\nAfter:\n\n```text\n|Name|Role|\n|---|---|\n|Davey|Builder|\n```\n\n### `markdownTableStyle: \"prettier\"`\n\nThis turns the plugin's post-print table rewrite off and keeps Prettier's built-in alignment.\n\nThe parser still adds missing backslashes to inline-code pipes when that is needed to keep the right number of table cells.\n\nBefore:\n\n```text\n| Name | Role |\n| --- | --- |\n| Davey | Builder |\n```\n\nAfter:\n\n```text\n| Name  | Role    |\n| ----- | ------- |\n| Davey | Builder |\n```\n\n### `markdownTableFencedCode: \"protected\"`\n\nThis is the default. It keeps all fenced code blocks unchanged by this plugin.\n\nPrettier may still format embedded languages before this plugin runs.\n\n### `markdownTableFencedCode: \"markdown\"`\n\nThis collapses tables inside Markdown-like fenced code blocks. It applies to fences marked `markdown`, `md`, `mdx`, or `gfm`.\n\nUse this when your docs include Markdown examples that should use the same table style as the rest of the file.\n\n```json\n{\n  \"plugins\": [\"@dvyio/prettier-plugin-collapse-markdown-tables\"],\n  \"markdownTableStyle\": \"spaced\",\n  \"markdownTableFencedCode\": \"markdown\"\n}\n```\n\n## Supported Contexts\n\nThe plugin normalizes normal Markdown tables at the root of a document, inside list items, inside blockquotes, inside mixed blockquote/list nesting, and inside footnotes parsed by Prettier's Markdown parser.\n\n```text\n> - Roles\n>   | Name  | Role        |\n>   | ----- | ----------- |\n>   | Davey | Builder     |\n```\n\nbecomes:\n\n```text\n> - Roles\n>   | Name | Role |\n>   | --- | --- |\n>   | Davey | Builder |\n```\n\nMDX files are supported. Normal Markdown tables in MDX are normalized, but JSX and code-like MDX content is skipped.\n\n## Repository Checks\n\n`npm run format` uses `.prettierrc` without loading this plugin. That keeps normal source formatting independent from `dist`, README, CONTRIBUTING, SECURITY, and dogfood Markdown.\n\n`npm run format:dogfood:check` builds the plugin first, then checks this README, `CONTRIBUTING.md`, `SECURITY.md`, and `tests/dogfood/markdown-tables.md` with the built plugin. That check runs after Prettier has already printed each file, so skipped regions are skipped by this plugin's collapse pass. Prettier can still format embedded languages before the collapse pass runs. `npm run check` runs both paths.\n\n`npm run test:stress` runs the adversarial normalization cases with the stricter performance ceiling. Normal `npm run check` keeps a generous ceiling so slow CI workers still catch hangs without failing on benchmark noise.\n\nUse [the audit coverage checklist](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/docs/audit-checklist.md) before changing parser wrapping, range handling, protected-region scanning, table repair, rendering, packaging, or fixture coverage.\n\nMaintainer setup, focused test commands, stress-test rules, fixture rules, and PR expectations live in [CONTRIBUTING.md](https://github.com/dvyio/prettier-plugin-collapse-markdown-tables/blob/main/CONTRIBUTING.md).\n\n## Skipped Content\n\nAfter Prettier prints the document, this plugin leaves these regions unchanged:\n\n- fenced code blocks, unless `markdownTableFencedCode` is set to `markdown` and the fence language is `markdown`, `md`, `mdx`, or `gfm`\n- indented code blocks\n- front matter, including YAML closed with `---` or `...`\n- HTML comments\n- HTML blocks, including `pre`, `script`, and `style`\n- MDX JSX and ESM blocks\n- tables after `<!-- prettier-ignore -->` or `{/* prettier-ignore */}`, including tables in every item of an ignored list and inside ignored blockquotes\n- tables inside `<!-- prettier-ignore-start -->` and `<!-- prettier-ignore-end -->`\n\nThat does not always mean the original input is kept byte for byte. Prettier may still format embedded languages before this plugin runs. For example, Prettier can align a Markdown table inside a `markdown` code fence. Set `markdownTableFencedCode` to `markdown` when you want this plugin to collapse that fenced table too.\n\nFor regions Prettier itself leaves alone, the collapse pass also leaves them alone. For example:\n\n```text\n<!-- prettier-ignore -->\n| Name  | Role        |\n| ----- | ----------- |\n| Davey | Builder     |\n```\n\nstays exactly as Prettier printed it. The standalone `normalizeMarkdownTables` helper does not run Prettier first, so its protected-region behavior is byte-for-byte for the text you pass in.\n\n## Safety Limits\n\nThe plugin is conservative. It leaves table-shaped text unchanged when it cannot prove the text is a valid table.\n\nThe plugin prints the full Markdown document before it collapses tables, so very large files can briefly need more than one full copy of the document in memory. Files with no pipe characters skip the collapse pass after printing. MDX JSX protection builds its full JSX scan text only after it sees a JSX-like block start. The test suite also runs a smoke test for hundreds of tables under a `192 MB` old-space limit and a `10 s` formatting limit.\n\nIt skips:\n\n- bare GFM tables without outer pipes when you call the helper directly\n- rows with mismatched header and delimiter cell counts, unless closed inline-code pipes prove that an earlier Prettier pass widened only the delimiter\n- delimiter rows with empty or malformed cells\n- table rows with inconsistent list or blockquote prefixes\n- malformed rows with unbalanced code spans\n- ambiguous rows with too many unescaped pipes\n\nEscaped pipes and pipes inside valid inline code spans are kept inside the cell. The plugin adds a missing backslash to inline-code pipes before Prettier parses the table.\n\nIf Prettier already widened a table in an earlier run, the plugin can also restore the intended delimiter count. It does this only when every real row still matches the header and the inline-code pipes account for every extra delimiter column.\n\nThis works whether each row has both, either, or neither outer pipe. The direct helper keeps the original inline-code spelling.\n\nBare GFM tables behave differently in the plugin and the helper. `prettier.format` runs Prettier first, so a bare table such as `Name | Role` is printed as a pipe-wrapped table before this plugin collapses it. A direct `normalizeMarkdownTables` call does not run Prettier first, so the same bare table is returned unchanged.\n\n## Public Helper\n\nThe package exports `normalizeMarkdownTables` for direct use from ESM code.\n\n```ts\nimport { normalizeMarkdownTables } from '@dvyio/prettier-plugin-collapse-markdown-tables';\n\nconst markdown = normalizeMarkdownTables(prettierFormattedMarkdown, {\n  markdownTableStyle: 'spaced',\n});\n```\n\nDirect `require(\"@dvyio/prettier-plugin-collapse-markdown-tables\")` calls are not supported. CommonJS code can use `await import(\"@dvyio/prettier-plugin-collapse-markdown-tables\")` when it needs the helper.\n\nUse it on Markdown that has already been formatted by Prettier. The helper rewrites pipe-wrapped tables only. Bare GFM tables are left unchanged unless you format them with Prettier before calling the helper. It preserves CR, CRLF, and LF line endings per line.\n\nThe helper scans the whole string it receives. If you use it in a server or with untrusted Markdown, cap the request body before calling it. Also set `maxInputBytes` so oversized strings fail before table scanning starts.\n\nHelper options:\n\n- `markdownTableStyle`: defaults to `'spaced'`. Use `'spaced'` for one space inside each cell, `'compact'` for no cell padding, or `'prettier'` to return the input unchanged.\n- `markdownTableFencedCode`: defaults to `'protected'`. Use `'markdown'` to rewrite tables inside fences marked `markdown`, `md`, `mdx`, or `gfm`.\n- `maxInputBytes`: defaults to no helper-level limit. This rejects input whose UTF-8 size is larger than the limit. Use it for untrusted input, and set it to the same limit your service allows.\n- `rangeStart`: defaults to `0` when `rangeEnd` is set. This is the start offset for the part of the input that may be rewritten. The value must be an integer from `0` through `markdown.length`.\n- `rangeEnd`: defaults to `markdown.length` when `rangeStart` is set. This is the end offset for the part of the input that may be rewritten. Use `Number.POSITIVE_INFINITY` to mean the end of the input.\n- `enableMdxEsm`: defaults to `false`. This is MDX-only. It protects MDX ESM imports, exports, and flow expressions from table rewriting.\n- `enableMdxJsx`: defaults to `false`. This is MDX-only. It protects complete MDX JSX elements and fragments from table rewriting. Unclosed JSX-like tags are not protected by the MDX JSX scanner, so later Markdown tables can still be rewritten.\n\nRanges use JavaScript string offsets in the text passed to the helper. If only one range edge is set, the missing edge expands to the start or end of the input. Invalid offsets throw clear errors.\n\nWhen `rangeStart` equals `rangeEnd`, the helper treats the range as a caret. A caret at the start of a table, inside table row text, or at the end of the last table row includes that table. A caret on the blank line before or after a table does not include it.\n\nPrettier itself returns unchanged text for collapsed ranges before plugins run. Editor integrations that need caret-style table cleanup should call `normalizeMarkdownTables` directly or expand the Prettier range to include table text.\n","readmeFilename":"README.md"}