@wmfs/concrete-paths

1.29.0 • Public • Published

concrete-paths

npm (scoped) CircleCI codecov CodeFactor Dependabot badge Commitizen friendly JavaScript Style Guide license FOSSA Status

An option-laden utility which takes general glob-paths, delimited paths etc. and returns an array of absolute paths.

Install

$ npm install concrete-paths --save

Usages

Given a directory containing:

/stuff
  /lib
    file1.js
    file2.js
  /logs
    log1.txt
    log2.txt
  /node_modules
    /some-package1
      foo.txt
      bar.txt
    /some-package2
      foo.txt
      bar.txt
  /test    
    test1.js
    test2.js
    

Then concrete-paths can be used in the following ways:

Usage 1: Simple glob-pattern string usage

Please see the glob package's Glob Primer for more information with working with glob patterns.

const concretePaths = require('concrete-paths')

concretePaths('/stuff/**/*.js').then(
  function(result) {
    // Result:
    // [
    //   '/stuff/lib/file1.js',
    //   '/stuff/lib/file2.js',
    //   '/stuff/test/test1.js',
    //   '/stuff/test/test2.js'
    // ]
  }
)

Usage 2: Single ; delimited string

Useful when working with values derived from environment variables.

const concretePaths = require('concrete-paths')

concretePaths('/stuff/lib/*.js;/stuff/logs/*.js').then(
  function(result) {
    // Result:
    // [
    //   '/stuff/lib/file1.js',
    //   '/stuff/lib/file2.js',
    //   '/stuff/logs/log1.txt',
    //   '/stuff/logs/log2.txt'
    // ]
  }
)

Usage 3: Multiple strings via array

Mix-and-match delimited strings, globs etc. in an array of strings.

const concretePaths = require('concrete-paths')

concretePaths(
  [
    '/stuff/node_modules/some-package1/*',
    '/stuff/lib/*.js;/stuff/logs/*.js'
  ]  
).then(
  function(result) {
    // Result:
    // [
    //   '/stuff/node_modules/some-package1/foo.txt',
    //   '/stuff/node_modules/some-package1/bar.txt',
    //   '/stuff/lib/file1.js',
    //   '/stuff/lib/file2.js',
    //   '/stuff/logs/log1.txt',
    //   '/stuff/logs/log2.txt'
    // ]
  }
)

API

concretePaths(sourcePaths, [options]) returns promise

sourcePaths

options

Option Type Notes

Testing

$ npm test

License

MIT

FOSSA Status

Package Sidebar

Install

npm i @wmfs/concrete-paths

Weekly Downloads

0

Version

1.29.0

License

MIT

Unpacked Size

45.1 kB

Total Files

13

Last publish

Collaborators

  • wmfsbot