Форматировщик package.json и сортировщик ключей

ДанныеРазработчик
Реклама · УДАЛИТЬ?
Проверка и рекомендации будут отображаться здесь.
Реклама · УДАЛИТЬ?

Гид

Форматировщик package.json и сортировщик ключей

Форматировщик package.json и сортировщик ключей

Вставьте любой package.json в область ввода (или нажмите «Попробовать пример» для просмотра работы инструмента).

Как использовать

  1. Вставьте ваш package.json в область ввода (или нажмите «Попробовать пример» для просмотра работы инструмента).
  2. Выберите предпочитаемый стиль отступа: 2 пробела, 4 пробела или табуляцию.
  3. Опционально включите алфавитную сортировку для групп зависимостей и сортировку скриптов с учётом жизненного цикла.
  4. Включите «Удаление нестандартных полей», если хотите убрать неизвестные ключи на верхнем уровне.
  5. Проверьте отформатированный вывод справа и отчёт по проверке с ошибками, предупреждениями и примечаниями.
  6. Скопируйте результат или скачайте его напрямую как package.json.

Возможности

  • Каноническое порядок ключей – Поля на верхнем уровне переставлены в стандартной последовательности npm (name, version, description, scripts, dependencies и т.д.), чтобы различия и обзоры кода оставались стабильными.
  • Проверка обязательных и рекомендуемых полей – Выделяет отсутствующие name/version и рекомендуемые элементы, такие как description, licenseи repository.
  • Проверка диапазонов версий – Проверяет каждый элемент в dependencies, devDependencies, peerDependenciesи optionalDependencies на использование корректного диапазона semver (caret, tilde, диапазоны, протоколы рабочей зоны и т.д.).
  • Сортировка зависимостей – Опционально сортирует каждую группу зависимостей по алфавиту для предсказуемого вывода, совместимого с lockfile.
  • Сортировка скриптов с учётом жизненного цикла – Сохраняет скрипты жизненного цикла npm вместе, затем сортирует остальные по алфавиту. preX/X/postX Скрипты жизненного цикла npm объединяются вместе, затем остальные сортируются по алфавиту.
  • Удаление нестандартных полей – Удаляет неизвестные ключи на верхнем уровне, чтобы сохранить лёгкость файла, или оставляет их (они перемещаются в конец).
  • Контроль отступов – Вывод с 2 пробелами, 4 пробелами или табуляцией, чтобы соответствовать правилам форматирования вашего проекта.
  • Только на стороне клиента – Парсинг, проверка и перестановка выполняются полностью в браузере. Ничего не передаётся.

Часто задаваемые вопросы

  1. Почему порядок ключей в package.json важен?

    Спецификация JSON рассматривает объекты как неупорядоченные, но на практике порядок ключей влияет на читаемость для человека, ясность изменений в запросах и то, как различные инструменты отображают файл. Канонический порядок — популяризированный npm CLI и широко используемый в инструментах экосистемы — размещает идентификационные поля (name, version) в начале, затем метаданные, точки входа и, наконец, блоки зависимостей и настроек. Стабильный порядок уменьшает конфликты слияния и делает файлы проще для просмотра.

  2. Что такое semver и почему важно синтаксис диапазонов версий?

    Семантическая версия (semver) определяет версии как тройки MAJOR.MINOR.PATCH с жёсткими правилами о том, что каждый сегмент означает. Операторы диапазонов, такие как caret (^), tilde (~) и сравнения (>=, <), сообщают менеджерам пакетов, какие будущие версии вы готовы принимать без нарушения вашего контракта. Неверный или неоднозначный диапазон может вызвать неизбежные сбои при сборке или непредсказуемые обновления. Проверка диапазонов на ранней стадии выявляет опечатки до того, как они попадут в lockfile.

  3. Что считается нестандартным полем в package.json?

    Спецификация npm определяет фиксированный словарь верхних уровней полей с документированным значением (name, version, scripts, dependencies, engines и т.д.). Инструменты часто добавляют собственные ключи на верхнем уровне — настройки ESLint, скрипты Husky, настройки инструмента сборки. Эти ключи технически являются допустимыми JSON, но находятся вне спецификации npm. Некоторые проекты предпочитают сохранять их для удобства, другие перемещают их в отдельные конфигурационные файлы, чтобы сосредоточить файл на задачах пакетирования.

  4. Почему группировать скрипты жизненного цикла npm, а не просто сортировать по алфавиту?

    npm запускает скрипты жизненного цикла в определённом порядке: preinstall до install, prepublish до publish и т.д. Когда вы читаете блок скриптов, группировка связанных троек жизненного цикла (pre/main/post) вместе делает поток выполнения очевидным на первый взгляд. Простая алфавитная сортировка рассеивает эти пары — например, размещая 'postbuild' далеко от 'build' — что затрудняет понимание того, что выполняется в какое время.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?