lukeed/tidyPublic

feat: sort imports in embeds

Scripts in HTML, Vue, Markdown, tempura and XML sort their imports as
Prettier's plugins and oxfmt do there: oxfmt only in Vue files, the
plugins before a Vue file is parsed and in other markup. Markdown and
markup code blocks are now formatted by tidy's own formatters, and the
code block logic is shared. JSDoc formatting stays out of template
expressions, which prettier-plugin-jsdoc never sees. Tests use bun's
host fixtures.
LELuke Edwards authored
46483f3Patch
Parent2485f23
12 files changed+913-78
StackedSplit
crates/tidy/src/embed.rs+98 โˆ’0
crates/tidy/src/handlebars/mod.rs+4 โˆ’1
crates/tidy/src/html/mod.rs+71 โˆ’16
crates/tidy/src/js/embed/markdown.rs+8 โˆ’29
crates/tidy/src/js/embed/mod.rs+1 โˆ’0
crates/tidy/src/js/sort_imports/mod.rs+31 โˆ’0
crates/tidy/src/js/template/js.rs+28 โˆ’3
crates/tidy/src/js/template/mod.rs+1 โˆ’1
crates/tidy/src/options.rs+2 โˆ’27
crates/tidy/src/xml/mod.rs+6 โˆ’1
crates/tidy/tests/fixtures/sort_imports/hosts.json+610 โˆ’0
crates/tidy/tests/sort_imports.rs+53 โˆ’0