js-task-path
v2.0.4
Published
A helper class to manage task-, build- and deployment-related paths more easily throughout the whole project.
Downloads
18
Readme
js-task-path
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