Build production and development bundle files for foreman core and plugins.
This package doesn't contain any implementation yet and only act as a skeleton and as the general design
@theforeman/builder/babel
- Adds theforeman babel production configuration to your projecttfm-builder-install
- Install the@theforeman/builder
to your project.tfm-build
- Run it to build foreman or a foreman plugin.tfm-builder-analyze
- Run it to analyze your build content.tfm-dev-server
- Run a development server so your code will get build and served locally with a live-reload feature.
npm install --save-dev @theforeman/builder
tfm-builder-install
# answer the questions
- Create a
.babelrc.js
file in your project root with the following content.
module.exports = {
presets: ['@theforeman/builder/babel'],
};
@theforeman/builder/babel
will automatically load@theforeman/env/babel
for none production environments.
- Create a
config/tfm-builder.config.js
file with the following content:
module.exports = {
// set your javascript entry points
entry: {
'my-plugin': 'webpack/assets/myPlugin.js',
'my-plugin-fills': 'webpack/assets/myPluginFills.js',
},
// set your output path
outputPath: 'public/webpack',
// if using in foreman core (won't work for plugins)
// set a devServer
devServer: {
port: '3808',
host: process.env.BIND || 'localhost',
}
};
- Add build scripts to your
package.json
{
"scripts": {
"build": "tfm-build config/tfm-builder.config.js",
"build-analyze": "tfm-builder-analyze config/tfm-builder.config.js",
"dev-server": "tfm-dev-server config/tfm-builder.config.js"
}
}
Please checkout the contributing.md
, the roadmap.md
and the open issues.