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