Есть ли способ в алфавитном формате package.json без установки пакета?

Я работал над множеством старых пакетов npm, у которых все их зависимости все не в порядке. Они упаковывают сжатые пакеты, поэтому обновление зависимостей - это небольшая работа (тестирование и проверка того, что изменения зависимостей не нарушали ничего), но я вручную перемещаю некоторые зависимости из ключа devDependencies ключ dependencies, и я не devDependencies я хочу сделать что-либо, кроме алфавита, перед тем, как совершить. Вместо того, чтобы делать это вручную, есть ли простой способ программно упорядочить их по алфавиту с помощью npm?

Ответ 1

Пакет sort-package-json сортирует не только dependencies и devDependencies, но и другие ключи. Я знаю, что исходные вопросы не спрашивали о других ключах, но я думаю, что здорово, чтобы все ключи были отсортированы.

Пример со страницы пакета:

$ cd my-project

$ cat package.json
{
  "dependencies": {},
  "version": "1.0.0",
  "keywords": [
    "thing"
  ],
  "name": "foo"
}

$ npm i -g sort-package-json

$ sort-package-json
Ok, your package.json is sorted

$ cat package.json
{
  "name": "foo",
  "version": "1.0.0",
  "keywords": [
    "thing"
  ],
  "dependencies": {}
}

Это не удаляет конечную новую npm-sort пакет npm-sort, упомянутый Wolfgang.

Ответ 2

Просто запустите npm remove --save anything или npm remove --save-dev whatever а npm будет сортировать этот раздел, не затрагивая при этом никакого содержимого. Конечно, вы должны убедиться, что имя пакета, которое вы передаете (что может быть что угодно, спам на клавиатуре), отсутствует в вашем пакете. Json.

Ответ 3

Я нашел пакет npm-sort, который, кажется, работает очень хорошо, с незначительным искажением, которое удаляет конечную новую строку из файла package.json.

Ответ 4

В дополнение к ответу на martias, вы можете просто запустить:

npx sort-package-json

Это не будет устанавливать его постоянно. Вам нужно npm> 5.2.

Ответ 5

Возможно, вы также захотите взглянуть на fixpack, CLI для обновления вашего package.json в соответствии с их (слегка) продуманным порядком. Однако вы можете добавить .fixpackrc чтобы определить свои собственные правила, по умолчанию:

  • имя
  • описание второе
  • версия третья
  • автор четвертый
  • все остальные ключи в алфавитном порядке
  • зависимости и devDependencies отсортированы по алфавиту
  • перевод строки в конец файла

Ответ 6

в VS-коде есть хороший упаковщик всего файла json.

там также есть нечто, называемое "sortier", которое сортирует больше, и это здорово.