Version-controlled build config for easy re-use and sharing ๐
npm install --save-dev @data-ui/build-config
Before leveraging the build config provided you should remove any older dependencies or config files for the drivers you intend to use (e.g., remove eslint and .eslintrc). @data-ui/build-config will handle these dependencies, and it will auto-generate the config files for you.
This project is built with ๐คbeemo, and therefore requires a
"beemo" configuration block in your package.json with a list of drivers you want to enable. You
can optionally configure drivers as shown below:
{
"beemo": {
"module": "@data-ui/build-config",
"drivers": [
"babel",
{
"driver": "eslint",
"args": ["--color", "--report-unused-disable-directives"]
},
{
"driver": "jest",
"env": { "NODE_ENV": "test" }
},
"prettier"
]
}
}
Executing a driver will initialize ๐ค Beemo's pipeline, generate configuration files (e.g., it will
generate a .eslintrc or prettier.config.js, and execute the underlying driver binary and logging
to the console.
All arguments passed to Beemo are passed to the driver's underlying binary.
You may define these commands as scripts:
// package.json
{
"scripts": {
"babel": "beemo babel ./src --out-dir ./lib",
"eslint": "beemo eslint ./src ./tests",
"jest": "beemo jest",
"prettier": "beemo prettier --write \"./{src,tests}/**/*.{js,json,md}\""
}
}
Coming ๐!
Because ๐ค Beemo generates config files such as .eslintrc, prettier.config.js, etc., it's
useful to ignore these files. Running the following will add the appropriate .gitignore files for
you:
beemo sync-dotfiles --filter=gitignore