Prettier output differs between VS Code OnSave and via CLI

27 views Asked by At

I am trying to figure out why I get different Prettier output depending on where it is invoked.

I have the following ways to invoke Prettier configured:

  • Run on save via VSCode configuration
  • Run on commit via husky
  • Ability to run on all files via npm script (pnpm prettier)

The problem is my prettier-plugin-sort-imports only seems to run when I save the file, but not via husky or the npm script. Any ideas?

Configuration

I have Prettier configured to be run on save via VSCode:

User\settings.json

  "editor.formatOnSave": true,
...
  "[*]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },

Prettier + lint-staged (run on commit via husky) Config:

package.json

  "scripts": {
...
    "prettier": "npx prettier --write .",
...
  },
...
  "prettier": {
    "semi": false,
    "printWidth": 100,
    "sortingMethod": "alphabetical",
    "importTypeOrder": [
      "localImports",
      "NPMPackages"
    ],
    "plugins": [
      "./node_modules/prettier-plugin-sort-imports/dist/index.js"
    ]
  },
...
  "lint-staged": {
    "*": [
      "eslint --fix",
      "prettier --write"
    ]
  },
...
  "devDependencies": {
...
    "prettier": "^3.1.1",
    "prettier-plugin-prisma": "^5.0.0",
    "prettier-plugin-sort-imports": "^1.8.1",

On Commit Config:

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
0

There are 0 answers