Skip to content
PluginStats

prettier-plugin-webc weekly downloads statistics

By d3v1an7 · npm · Prettier plugins

Prettier formatting for WebC files, including the JavaScript inside expression attributes, front matter and render templates.

View on npm Stale · Oct 17, 2026

prettier-plugin-webc has 1 recorded weekly downloads on npm, a decrease of 93.3% over the past 30 days, ranking #2199 of 2,306 tracked listings.

Weekly downloads
1
Official API · Oct 17, 2026
7-day growth
-50.0%
-1 weekly downloads
30-day growth
-93.3%
-14 weekly downloads
90-day growth
—
Insufficient history
Rank
#2199
Among tracked npm listings

About prettier-plugin-webc

prettier-plugin-webc

Prettier formatting for WebC files, including the JavaScript inside expression attributes, front matter and render templates.

The best thing about a .webc file is that it's pretty much HTML with extra :nail_care::sparkles:. This allows us to piggyback off Prettier's own HTML printer, adding "just enough" magic for the WebC parts to come out formatted too. Pairs well with WebC Syntax which handles syntax highlighting in VS Code.

AI disclaimer

• :robot: Plugin code and tests were mostly written by Claude Code. • :man: Plugin docs and code comments were written or edited by a human.

Install

Usage

Add the plugin to your Prettier config:

Or, for a zero config single run:

Features

• Front matter • Expression attributes • JavaScript templates • Eleventy templates • Quotes • Options

Front matter

The following (case-insensitive) front matter formats are identified and formatted by default:

• YAML (---, ---yaml or ---yml) with Prettier's YAML printer • JavaScript (---js or ---javascript) with Prettier's JavaScript printer • JSON (---json) with Prettier's JSON printer

Custom formats added via setFrontMatterParsingOptions (hello TOML) will be identified as generic front matter and not parsed.

Expression attributes

| Attribute | Value | Formatted as |

| :* bindings (such as :name, :@prop) | required | JavaScript | | @attributes | optional | JavaScript | | @html | required | JavaScript | | @raw | required | JavaScript | | @text | required | JavaScript | | webc:bucket | required | string, kept as written | | webc:else | none | — | | webc:elseif | required | JavaScript | | webc:for | required | JavaScript loop head (see below) | | webc:if | required | JavaScript | | webc:ignore | none | — | | webc:import | required | string, kept as written | | webc:is | required | string, kept as written | | webc:keep | none | — | | webc:nokeep | none | — | | webc:raw | none | — | | webc:root | optional | string, kept as written | | webc:scoped | optional | string, kept as written | | webc:setup | none | — | | webc:type | required | string, kept as written | | 11ty:type | required | string, kept as written | | @prop (any other @ attribute) | required | string, kept as written |

A webc:for value such as item of items or (key, value) in obj is a loop head rather than an expression: the binding on the left and the iterable on the right are each formatted, and the of / in keyword and any parentheses or destructuring stay as written. The iterable always starts on the same line as the keyword and only breaks inside itself (the way Prettier prints Vue's v-for), because WebC looks for a literal " of " / " in " and treats a loop head with a line break there as invalid.

Examples of JavaScript formatting

• Spacing, quoting and line breaking follow Prettier's JavaScript rules, the way Prettier prints Vue bindings. • { color: theme.accent } is understood as an object literal and gets wrapping parentheses, ({ color: theme.accent }), because WebC evaluates the value as a script and a bare { would start a block. Existing parentheses are kept. • > or (and superseded webc:type="render") content is formatted as JavaScript, the same as , including when the start tag has been split across several lines. Content that does not parse is kept as written.

Eleventy templates

Markdown, Nunjucks or Liquid inside a webc:type="11ty" template is not HTML, so the whole element is copied through unchanged, attributes included.

Quotes

An expression attribute is always wrapped in double quotes and string literals inside it switch to single quotes. A " that has to survive, inside a template literal for instance, is written as ", and " / ' in the source are decoded before the expression is parsed.

Options

There are no plugin-specific options. All of Prettier's HTML options (printWidth, htmlWhitespaceSensitivity, bracketSameLine, singleAttributePerLine, ...) apply, because the output is produced by the HTML printer.

Plugins that wrap Prettier's html parser, such as prettier-plugin-tailwindcss, apply to .webc files too: the webc parser hands the markup to the html parser of the last loaded plugin that provides one, so class attributes are sorted whichever order the plugins are listed in.

{your project}/.prettierrc

Limitations

• webc:raw and webc:ignore content is still formatted as HTML. Put in front of an element to leave it alone. • The __js_expression parser is an internal Prettier API. It has been stable across Prettier 3 (it is what Vue support is built on), but it is not part of the public contract.

Local development and testing

npm test runs prettier --check first, then the unit tests and the fixture snapshots in test/fixtures. Each *.webc fixture is formatted and compared to the *.webc.out beside it; a fixture with no .out file gets one written on the first run.

A snapshot test fails whenever the plugin's output changes, whether from a change to src/, a new Prettier version, or a new fixture. When the new output is what you want, rewrite the .out files:

Publish

  1. Bump version in package.json and update CHANGELOG.md. 2. Run the tests with the command above. 3. Publish to npm:

  2. Commit the version bump and changelog, tag it, and push:

Description from the npm listing.

  • prettier
  • prettier-plugin
  • webc
  • 11ty
  • eleventy
  • html
  • formatter

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

prettier-plugin-webc weekly downloads on npm, last 90 days: 1 weekly downloads as of Oct 17, 2026.prettier-plugin-webcWeekly downloads on npm · Last 90 days1downloads / week024681012141618Jul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 17, 2026 · 88 observations · Updated Oc…pluginstats.com
prettier-plugin-webc weekly downloads on npm, last 90 days: 1 weekly downloads as of Oct 17, 2026.

7/30/90-day growth

prettier-plugin-webc weekly downloads growth on npm: -50.0% over 7 days, -93.3% over 30 days, 90-day growth unavailable.prettier-plugin-webcWeekly downloads growth on npm1downloads / week now7-day growth-1 weekly downloads-50.0%30-day growth-14 weekly downloads-93.3%90-day growth+1 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
prettier-plugin-webc weekly downloads growth on npm: -50.0% over 7 days, -93.3% over 30 days, 90-day growth unavailable.

Ranking history

prettier-plugin-webc npm ranking history: currently #2199 (by weekly downloads).prettier-plugin-webcnpm ranking · by weekly downloads · Last 90 days#2199current rank#2192#2194#2196#2198#2200#2202Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 18, 2026 – Oct 19, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
prettier-plugin-webc npm ranking history: currently #2199 (by weekly downloads).

Listing placement

All npm2,256 listings · 113 pages · 1,130 shown · page 110, #20 (overall #2,200)
All npm: every listing in weekly downloads order

Listing placement

Prettier plugins244 listings · 13 pages · page 10, #19 (overall #199)
Prettier plugins: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (121)
Recent weekly downloads observations for prettier-plugin-webc
Date (UTC)Weekly downloadsChange vs. previous
1-1
20
20
20
20
2-1
3+1
20
2-1
30
30
30
30
3—

Similar npm Prettier plugins plugins

All 20 prettier-plugin-webc alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/prettier-plugin-webc. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.