Skip to content

A helper class to manage task-, build- and deployment-related paths more easily throughout the whole project.

License

Notifications You must be signed in to change notification settings

nodery/js-task-path

Repository files navigation

js-task-path

Recent Version Travis CI - Build Status Coveralls - Code Coverage Status David - Dependencies David - DevDependencies Doclets Gitter - Repository Chat

Synopsis

A helper class to manage task-, build- and deployment-related paths more easily throughout the whole project. It provides an intuitive method to handle path shortcuts for custom paths.

  • Written in ES6
  • Node-only.

Install

npm install js-task-path

Usage

For additional examples, check the unit tests

const path = require('js-task-path');

// after require, you can use path right away without instantiation, since it's a singleton

// set custom paths
// '<root>' is present by default and its value is automatically determined and set to the package's root
path.set('dist', '<root>/dist');
path.set('src',  '<root>/src');
path.set('doc',  '<root>/doc');

// or use chaining
path.set('lib',      '<root>/lib')
    .set('scripts',  '<root>/scripts')
    .set('examples', '<root>/examples');
  
// or use the shorthand versions
path('tasks', '<root>/tasks');
path({
    tests : '<root>/tests',
    vars  : '<root>/vars'
});
    
// when setting paths, use previous paths with tokens
// also works with every form of path settings
path.set('test-cases', '<tests>/cases');

/*
default tokens (with 'root'):

'<root>'
'<<root>>'
'@root@'
'{@root@}'
'{%root%}'
'{{root}}'
*/

// use paths
path.get('dist'); // will be '<root>/dist', where <root> will be auto-resolved to package root (e.g.: '/vagrant/dist')

// or the shorthand version
path('dist');

// if the path constructed via different layers (e.g.: '<tests>/cases', where <tests> too is '<root>/tests'),
// the full path will be resolved.
path.get('test-cases'); // will be e.g.: '/vagrant/tests/cases'

Documentation

Check the source here since it's well structured and documented. Also you can find the rendered JSDoc documentation on Doclets.io.

Also, check the unit tests in order to grasp the full-fledged capabilities.

Have fun! ;)

Issues

If you find any bugs and other issues, check the GSDC Guide - Issues section on how to submit issues in a standardized way on the project's issues page.

In case you have any suggestions regarding the project (features, additional capabilities, etc.), check the GSDC Guide - Suggestions section on how to submit suggestions in an easy, standardized way on the project's issues page.

Contribution

In order to contribute to this project, check the GSDC Guide for an easy, standardized way on how to contribute to projects.

Support

If you by any means find this project useful, consider supporting the organization.

There are multiple options to support the project and the developers. Any means of support is beneficial and helpful.

License

MIT @ Richard King

About

A helper class to manage task-, build- and deployment-related paths more easily throughout the whole project.

Resources

License

Stars

Watchers

Forks

Packages

No packages published