Действительно ли порядок пресетов Вавилона 6?

Когда я перечисляю пресеты, имеет значение порядок?

Другими словами, эквивалентны следующие файлы .babelrc?

.babelrc # 1

{
  "presets": ["es2015", "stage-2", "react"]
}

.babelrc # 2

{
  "presets": ["react", "stage-2", "es2015"]
}

Ответы

Ответ 1

От babeljs.io/docs/plugins: (по состоянию на 30/30/2016)

Плагин/предварительный заказ

Порядок вопросов для каждого посетителя в плагине. Это означает, что если два преобразования посещают "Программу", преобразования будут выполняться либо в плагине, либо в предустановленном порядке.

Плагины запускаются до пресетов.

Заказ плагина сначала продлится.

"plugins": [
  "transform-decorators-legacy", // will run first
  "transform-class-properties" // will run second
]

Предустановленное упорядочение отменено (от последнего до первого).

Да, это сбивает с толку, см. babel/notes # 2.

Я считаю, что причина (для обратной совместимости) заключается в том, что большинство пользователей указали "es2015" и "stage-0". И stage-0 будет работать до es2015.

"presets": [
  "es2015", // will run third
  "react", // will run second
  "stage-2" // will run first
]