На прошлой неделе был выпущен Neutrino версии 8, новейшего инструмента, который сочетает в себе все функции и мощность, которые вам нравятся в webpack, с возможностью запускать проекты с нулевой конфигурацией, и все это без потери расширяемости. В этот выпуск вошло многое, так что давайте углубимся.

Создание новых проектов

Стремясь максимально упростить начало работы с Neutrino, мы представили новый способ создания минимума, необходимого для создания новых проектов! Нет необходимости устанавливать какие-либо пакеты глобально; если у вас установлена ​​последняя версия пряжи или npm, вы готовы к работе!

Для пользователей пряжи вы можете начать новый проект с yarn create:

yarn create @neutrinojs/project <directory-name>

Для пользователей npm вы можете начать новый проект с помощью команды npx:

npx @neutrinojs/create-project <directory-name>

Затем вам предложат ряд быстрых вопросов, и вы сразу сможете создать и написать свой проект! Чтобы увидеть это в действии, вот скриншот, на котором я создаю новое приложение React:

По запросу create-project вы можете начать с нескольких различных типов проектов:

  • Реагировать
  • Preact
  • Vue
  • Node.js
  • Библиотеки Web и Node.js
  • Любое универсальное веб-приложение
  • Автономные компоненты React

Кроме того, вы можете добавить тестовых исполнителей, таких как Karma, Mocha и Jest, или даже линтировать свой проект с помощью ESLint с Airbnb или StandardJS. Все они предварительно настроены для использования без какой-либо дополнительной настройки, но остаются полностью расширяемыми для использования в будущем.

Пакеты с ограниченным объемом

Если вы в прошлом были пользователем Neutrino, вы могли заметить, что ваши старые предустановки и промежуточное ПО получили новые имена в новой организации npm, @neutrinojs. Мы сделали это по двум причинам. Во-первых, было неясно, какие пакеты официально поддерживались Neutrino, а какие нет, поскольку все существовали в npm с одинаковыми именами. Во-вторых, если Neutrino хотел выпустить новый пакет, а имя противоречило имени уже существующего в сообществе, нам пришлось бы прибегнуть к более странному именованию в качестве обходного пути. Перенос наших официальных предустановок и промежуточного программного обеспечения в @neutrinojs org помогает нам решить обе эти проблемы.

Так что именно это означает? Все пакеты, на которые вы, возможно, полагались в прошлом, просто нужно установить с заданным именем вместо их старого имени, например

  • neutrino-preset-web@neutrinojs/web
  • neutrino-preset-react@neutrinojs/react
  • neutrino-preset-node@neutrinojs/node
  • neutrino-preset-jest@neutrinojs/jest

Новые типы промежуточного программного обеспечения

Neutrino v8 также представил несколько новых основных пакетов промежуточного программного обеспечения:

  • @neutrinojs/library: Создание JS-библиотек для целей Web или Node.js
  • @neutrinojs/react-components: Создавайте общие компоненты React. Хорошо работает с другим промежуточным программным обеспечением Neutrino, поэтому вы можете создавать, тестировать и публиковать несколько компонентов React из одного репозитория.
  • @neutrinojs/preact & @neutrinojs/vue: Создавайте проекты на основе Preact и Vue с поддержкой JSX и многого другого.
  • @neutrinojs/standardjs: Используйте ESLint с правилами StandardJS для линтинга ваших проектов
  • @neutrinojs/fork: разделить использование промежуточного программного обеспечения на отдельные процессы. Вы можете комбинировать это с другим промежуточным программным обеспечением для настройки и создания нескольких типов проектов из одного проекта, например React + Node для SSR, или создания нескольких вариантов библиотеки параллельно.

Лучшая поддержка многостраничных приложений и нескольких сетей

При создании веб-приложений с несколькими страницами или библиотек и проектов Node.js, имеющих несколько основных точек входа, может быть несколько движущихся частей, которые необходимо синхронизировать, чтобы все работало должным образом, например, горячая замена модуля и Генерация HTML-шаблона. Теперь Neutrino синхронизирует все это, перейдя от единственной entry опции к использованию карты mains:

// .neutrinorc.js
module.exports = {
  options: {
    // Each key in `mains` maps to an entry point
    // located in the source code directory, e.g. src/
    mains: {
      // The key is the file name that will be generated
      // The value is the file in src/ to use as the entry point
      index: 'index',
      admin: 'admin',
      login: 'sign-in'
    }
  }
};

Улучшенное промежуточное ПО стиля, модули CSS

ПО промежуточного слоя @neutrinojs/style-loader, которое используется основными веб-пресетами Neutrino, теперь поддерживает лучшую интеграцию и расширение с другими типами препроцессоров и инструментов. Это означает, что вам будет проще указать свою конфигурацию в будущем, если вы хотите использовать LESS, Sass, PostCSS, stylelint и другие, просто передав дополнительные параметры в это промежуточное программное обеспечение или пресеты.

Кроме того, наши веб-шаблоны теперь поддерживают модули CSS из коробки с *.module.css файлами в web, react и preact и тегами стиля на основе модулей в vue.

Критические изменения

С каждым крупным выпуском появляется вероятность критических изменений при попытке обновления. Мы поддерживаем их список в нашем Руководстве по переходу с v7 на v8. Пожалуйста, прочтите это, если вы обновляетесь с предыдущей версии.

Что дальше?

Мы планируем добавить еще больше интересных типов проектов в Neutrino и create-project scaffolder. Некоторые из них включают поддержку:

  • WebExtensions
  • Электрон
  • Вяз

Вовлечены!

Мы всегда ищем новых и заинтересованных людей, которые помогут в нашем проекте, и приветствуем всех, кто хочет, чтобы их наставляли в этих усилиях! Вот несколько вещей, с которыми нам действительно нужна помощь, поэтому, если вы чувствуете желание, присоединяйтесь и поговорите с нами!

  • У нас есть хорошие документы, но нам нужны отличные документы! Наличие специальной темы документов, которая соответствует индивидуальности Neutrino, значительно улучшит ситуацию.
  • Видеоуроки и курсы. Возможность направлять новых пользователей Neutrino в создание новых типов проектов и их настройку в будущем - это то, что действительно поможет нам!
  • Перенос приложения Create-React-App на поддержку Neutrino. У нас есть проблема, и мы очень хотели бы, чтобы кто-нибудь из сообщества стал героем в этой работе.

Конечно, нам всегда нужна помощь с ошибками, кодом, документацией и продвижением. Если вы вообще хотите помочь, перейдите на каналы нашего сообщества и представьтесь. Команда очень дружелюбная и будет рада помочь вам в решении любых вопросов. ❤️

Спектр:



Веб-сайт и документация:



GitHub:



Twitter: