vitruvius

3.0.0 • Public • Published

vitruvius Build Status Windows Build Status npm version

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.

Package Sidebar

Install

npm i vitruvius

Weekly Downloads

1

Version

3.0.0

License

MIT

Last publish

Collaborators

  • thomashuston