Есть ли способ в алфавитном формате 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", которое сортирует больше, и это здорово.