Have ideas to improve npm?Join in the discussion! »

    @wmfs/concrete-paths

    1.25.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

    Install

    npm i @wmfs/concrete-paths

    DownloadsWeekly Downloads

    5

    Version

    1.25.0

    License

    MIT

    Unpacked Size

    37.8 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar