vitruvius
Master builder for Lerna projects.
Last updated 3 years ago by thomashuston .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install vitruvius 
SYNC missed versions from official npm registry.

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.

Current Tags

  • 3.0.0                                ...           latest (3 years ago)

8 Versions

  • 3.0.0                                ...           3 years ago
  • 2.0.2                                ...           3 years ago
  • 2.0.1                                ...           3 years ago
  • 2.0.0                                ...           3 years ago
  • 1.0.4                                ...           3 years ago
  • 1.0.3                                ...           3 years ago
  • 1.0.2                                ...           3 years ago
  • 1.0.1                                ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 1
This Month 4
Last Day 0
Last Week 0
Last Month 12
Dependencies (8)
Dev Dependencies (2)
Dependents (0)
None

Copyright 2014 - 2017 © taobao.org |