Мы хотели бы иметь возможность добавлять пользовательские функции в polymer build
и polymer serve
, настраивая пользовательские плагины babel.
Например, так как Polymer-Cli использует Babel внутри, мы добавили бы *Файл 1005 * в нашу рабочую область / корневой каталог проекта, например:
module.exports = function (api) {
api.cache(true);
const presets = [ ];
const plugins = [
"@babel/plugin-proposal-optional-chaining"
];
return {
presets,
plugins
};
}
... и затем мы могли бы обслуживать или создавать наш проект с поддержкой необязательных цепочек и т. Д. Это позволило бы нам делать все видывещей, написав дополнительные плагины Babel для обработки таких вещей, как минимизация внутри строк HTML-шаблона ...
К сожалению, в настоящее время это не работает.polymer-build
, кажется, загружает конфигурацию (из-за использования babel / core?), Но polymer-analyze
нет.Ошибка генерируется на этапе оптимизации компоновки, выполняемом полимер-анализом, как только он встречает необязательный синтаксис цепочки в нашем источнике:
error: Error: Unable to get document file:///.../somefile.js: This experimental syntax requires enabling the parser plugin:
'optionalChaining' (423:6)
at BuildAnalyzer.<anonymous> (/usr/local/share/.config/yarn/global/node_modules/polymer-build/lib/analyzer.js:342:23)
at Generator.next (<anonymous>)
at fulfilled (/usr/local/share/.config/yarn/global/node_modules/polymer-build/lib/analyzer.js:17:58)
at process._tickCallback (internal/process/next_tick.js:68:7)
polymer serve
также генерирует ошибку:
Error { SyntaxError: This experimental syntax requires enabling the parser plugin: 'optionalChaining' (423:6)
at Parser.raise (/usr/local/share/.config/yarn/global/node_modules/babylon/lib/index.js:776:15)
at Parser.expectPlugin (/usr/local/share/.config/yarn/global/node_modules/babylon/lib/index.js:2084:18)
...
pos: 13056, loc: Position { line: 423, column: 6 },
missingPlugin: [ 'optionalChaining' ] }
В обоих случаях я подтвердил, что babel.config.js
файл загружается .Но babel входит в несколько различных пакетов, используемых в Polymer-Cli, поэтому я подозреваю, что в некоторых из них babel используется без (конфигурационной информации babel / core).
Может ли кто-нибудь участвовать вполимерный проект подтвердите, правильно ли я в определении основной проблемы?Я изучаю возможность внесения исправления / улучшения, если область не слишком велика.
Спасибо.