vitruvius
v3.0.0
Published
Master builder for Lerna projects.
Downloads
25
Maintainers
Readme
vitruvius
Master builder for Lerna projects.
- Transpile source code with Babel, excluding tests
- Copy non-JS assets to the output directory
Getting Started
Install vitruvius using npm
:
npm install --save-dev vitruvius
Next add a simple npm
script to run vitruvius:
"scripts": {
"build": "vitruvius build --src src --dest lib"
}
Now, running npm run build
will look in the src
directory of each package in your project and output the compiled code in a lib
folder in each package.
Usage
vitruvius build --src <srcDirName> --dest <destDirName> [--ignore <fileGlobPatterns>]
src
(required) is the name of the source directory within each package.
dest
(required) is the name of the output directory you want to create in each package.
ignore-packages
(optional) is an array of glob patterns for packages to ignore.
ignore-files
(optional) is an array of glob patterns for files and directories to ignore. By default, *.test.js
, *.spec.js
, **/__tests__/**
, and **/__mocks__/**
are ignored.
As a point of reference, let's consider this standard Lerna project:
my-lerna-repo/
packages/
package-1/
src/
index.spec.js
index.js
package.json
package-2/
src/
data.json
index.js
package.json
Let's say we want to compile the source code in package-1
and package-2
into a lib
folder.
To do this, we can run vitruvius build --src src --dest lib
. This will Babel compile the source code, copy any non-JS files, and ignore test files.
After building, our project now looks like this:
my-lerna-repo/
packages/
package-1/
lib/
index.js
src/
index.spec.js
index.js
package.json
package-2/
lib/
data.json
index.js
src/
data.json
index.js
package.json
As you can see, package-1/src/index.js
has been compiled into package-1/lib/index.js
, while package-1/src/index.spec.js
was ignored. And package-2/src/data.json
was copied over to package-2/lib/data.json
, along with package-2/src/index.js
being compiled to package-2/lib/index.js
.