Я думаю, что чтение всего этого поможет: http://www.oligriffiths.com/broccolijs/
Это учебное пособие о том, как работает брокколи и как она преобразует деревья файлов.
Для вашей конкретной ситуации эта страницабудет представлять интерес: http://www.oligriffiths.com/broccolijs/05-es6-transpilation.html
в частности, это:
const funnel = require('broccoli-funnel');
const merge = require('broccoli-merge-trees');
const compileSass = require('broccoli-sass-source-maps')(require('sass'));
const babel = require('broccoli-babel-transpiler');
const appRoot = 'app';
// Copy HTML file from app root to destination
const html = funnel(appRoot, {
files: ["index.html"],
annotation: "Index file",
});
// Copy JS file into assets
let js = funnel(appRoot, {
files: ["app.js"],
destDir: "/assets",
annotation: "JS files",
});
// Transpile JS files to ES5
js = babel(js, {
browserPolyfill: true,
sourceMap: 'inline',
});
// Copy CSS file into assets
const css = compileSass(
[appRoot],
'styles/app.scss',
'assets/app.css',
{
sourceMap: true,
sourceMapContents: true,
annotation: "Sass files"
}
);
// Copy public files into destination
const public = funnel('public', {
annotation: "Public files",
});
module.exports = merge([html, js, css, public], {annotation: "Final output"});
надеюсь, что это поможет / даст вам достаточно информации для достижения того, что вам нужно