Skip to content
PluginStats

@aforemendude/prettier-plugin-json-utils weekly downloads statistics

By aforemendude (2 listings) · npm · Prettier plugins

A Prettier plugin for sorting JSON keys, with specialized modes for VS Code settings and package.json files.

View on npm Fresh · Oct 18, 2026

@aforemendude/prettier-plugin-json-utils has 1 recorded weekly downloads on npm, a decrease of 98.0% over the past 30 days, ranking #2291 of 2,322 tracked listings.

Weekly downloads
1
Official API · Oct 18, 2026
7-day growth
-75.0%
-3 weekly downloads
30-day growth
-98.0%
-49 weekly downloads
90-day growth
—
Insufficient history
Rank
#2291
Among tracked npm listings

About @aforemendude/prettier-plugin-json-utils

Prettier Plugin JSON Utils

A Prettier plugin for sorting JSON keys, with specialized modes for VS Code settings and package.json files.

The plugin has three modes:

  • sort-keys (default) recursively sorts object keys while preserving array order and values.
  • vscode-settings recursively sorts object keys and normalizes selected Code Spell Checker word lists.
  • package-json recursively sorts object keys while preserving the order-sensitive conditional keys below exports and imports.

Requirements

  • Node.js 20 or newer
  • Prettier 3.9.0 or newer within version 3

Installation

npm install --save-dev @aforemendude/prettier-plugin-json-utils

Configuration

Load the plugin in your Prettier configuration:

{
  "plugins": ["@aforemendude/prettier-plugin-json-utils"]
}

With no additional configuration, the plugin uses sort-keys for all supported JSON files. You can also select it explicitly:

{
  "jsonUtilsMode": "sort-keys",
  "plugins": ["@aforemendude/prettier-plugin-json-utils"]
}

Modes are never inferred from filenames or parsers. To use the specialized modes, set jsonUtilsMode globally or in an override. For example:

{
  "overrides": [
    {
      "files": "**/settings.json",
      "options": {
        "jsonUtilsMode": "vscode-settings"
      }
    },
    {
      "files": "**/package.json",
      "options": {
        "jsonUtilsMode": "package-json"
      }
    }
  ],
  "plugins": ["@aforemendude/prettier-plugin-json-utils"]
}

The plugin wraps Prettier's json, jsonc, json5, and json-stringify parsers. The default is sort-keys for all four parsers, including when calling prettier.format() without a filepath.

When loaded after another JSON plugin, this plugin delegates to the nearest preceding parser with the same astFormat as Prettier's built-in parser. Parsers with a different or missing astFormat and their preprocessors are skipped. If no compatible parser is found, Prettier's built-in parser is used.

If you previously relied on automatic mode selection, add explicit overrides like those above to retain the specialized behavior. Files with nonstandard names can use the same options.

Sort Keys Mode (Default)

All object keys are sorted recursively with JavaScript's case-sensitive lexicographic ordering, including objects inside arrays. Array elements retain their order and string values retain their case. Comments are preserved and move with the properties they describe.

This mode also sorts keys inside exports and imports. Select package-json for package manifests that need conditional key order preserved, and vscode-settings to normalize supported cSpell word lists.

VS Code Settings Mode

All object keys are sorted recursively with JavaScript's case-sensitive lexicographic ordering. Normal array order is preserved, and object keys inside arrays are still sorted.

Arrays assigned to these exact property names are additionally lowercased and sorted:

  • cSpell.flagWords
  • cSpell.ignoreWords
  • cSpell.userWords
  • cSpell.words

The normalization applies at any nesting level and retains duplicate entries. If one of these settings is not an array of strings, its array contents are left unchanged. Because sorting occurs on Prettier's JSON AST, comments in JSON and JSONC settings files are preserved and move with the values they describe.

Package JSON Mode

Object keys are sorted recursively and array elements retain their original order, matching the JSON serialization policy in upgrade-npm-packages with these order-sensitive exceptions:

  • Subpath keys in the root exports object are sorted.
  • A root exports object containing only condition keys retains its order.
  • Specifier keys in the root imports object are sorted.
  • Conditional keys and all nested objects below exports and imports retain their order.

Conditional order is semantically significant in Node.js, so a sequence such as types, import, require, default is never alphabetized by this mode.

Development

Working on this repository requires Node.js 22.12.0 or newer. The published plugin requires Node.js 20 or newer.

npm install
npm run format:check
npm run typecheck
npm run test
npm run build

npm run test runs the TypeScript unit and integration suites with Vitest. npm run build removes and recreates dist, and npm run verify runs formatting, type checking, the build, and all tests.

Description from the npm listing.

  • prettier
  • prettier-plugin
  • json
  • package-json
  • vscode

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

@aforemendude/prettier-plugin-json-utils weekly downloads on npm, last 90 days: 1 weekly downloads as of Oct 18, 2026.@aforemendude/prettier-plugin-json-uti…Weekly downloads on npm · Last 90 days1downloads / week0102030405060Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 18, 2026 · 89 observations · Updated Oc…pluginstats.com
@aforemendude/prettier-plugin-json-utils weekly downloads on npm, last 90 days: 1 weekly downloads as of Oct 18, 2026.

7/30/90-day growth

@aforemendude/prettier-plugin-json-utils weekly downloads growth on npm: -75.0% over 7 days, -98.0% over 30 days, 90-day growth unavailable.@aforemendude/prettier-plugin-json-uti…Weekly downloads growth on npm1downloads / week now7-day growth-3 weekly downloads-75.0%30-day growth-49 weekly downloads-98.0%90-day growth+1 weekly downloadsInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
@aforemendude/prettier-plugin-json-utils weekly downloads growth on npm: -75.0% over 7 days, -98.0% over 30 days, 90-day growth unavailable.

Ranking history

@aforemendude/prettier-plugin-json-utils npm ranking history: currently #2291 (by weekly downloads).@aforemendude/prettier-plugin-json-uti…npm ranking · by weekly downloads · Last 90 days#2291current rank#2160#2180#2200#2220#2240#2260#2280#2300Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 18, 2026 – Oct 20, 2026 · 3 observations · Updated Oct 18, 2026pluginstats.com
@aforemendude/prettier-plugin-json-utils npm ranking history: currently #2291 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,161 shown · page 115, #15 (overall #2,295)
All npm: every listing in weekly downloads order

Listing placement

Prettier plugins244 listings · 13 pages · page 12, #4 (overall #224)
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 (122)
Recent weekly downloads observations for @aforemendude/prettier-plugin-json-utils
Date (UTC)Weekly downloadsChange vs. previous
10
10
1-1
20
20
20
2-2
4+1
30
30
30
30
30
3—

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/@aforemendude/prettier-plugin-json-utils. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.