build-dir v0.7.1
build-dir
Get a place to put your build.
Why?
- Fast and convenient, easy to set up.
- Namespaces builds in a human-friendly manner.
- Encourages cache-safe URLs.
- Uses a solid convention,
build/<branch>/<version>
. - Gracefully handles edge cases for git branches.
Install
npm install build-dir --save
Usage
Get it into your program.
const buildDir = require('build-dir');
Get a path to use when writing the build.
buildDir().then((dirPath) => {
console.log('Build directory:', dirPath);
// 'build/master/1.0.0'
});
Get the path that was used for the most recent build.
buildDir.latest().then((dirPath) => {
console.log('Build directory:', dirPath);
});
Set up convenient latest-build
and branch-specific latest
links.
buildDir.link().then(() => {
console.log('Linking complete.')
// latest-build -> build/<branch>/latest -> build/<branch>/<version>
});
Let us manage the lifecycle steps for you.
buildDir.prepare().then((dir) => {
// Put stuff in here:
console.log('Temp dir:', dir.path);
// ... some time later ...
// Move the temp dir to its permanent home and set up
// latest links.
return dir.finalize();
});
API
buildDir(option)
option
Type: object
cwd
Type: string
Default: process.cwd()
The parent directory of the build root.
branch
Type: string
Use the given branch name, instead of asking git.
version
Type: string
Use the given version, instead of asking build-version.
buildDir.latest(option)
Same as buildDir()
, except the branch
defaults to the most recently built branch and version
defaults to the most recently built version of the branch
.
buildDir.link(option)
Takes cwd
, branch
, and version
on the option object.
Within the cwd
, writes a symlink at latest-build
pointing to build/<branch>/latest
and from there to version
.
buildDir.prepare(option)
Returns a promise for an object with these fields:
path
is a newly created temporary directory for you to write the build to.finalize()
movespath
to its final location and runsbuildDir.link()
on it.
Related
- build-version - Get a version for your build.
- build-data - Get metadata for your build.
- build-path - Get a path for the given build.
- build-keys - Get the paths of files from your build.
- build-files - Read the files from your build.
Contributing
See our contributing guidelines for more details.
- Fork it.
- Make a feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request.
License
Go make something, dang it.