2.0.3 • Published 2 years ago

@cylution/require-dir v2.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

@cylution/require-dir

scan and require all files from input folder

Install

npm i @cylution/require-dir
# Or
yarn add @cylution/require-dir 

Usage

test tree:

test
├── requireDir.test.js
└── services
    ├── a.service.js
    ├── b.service.js
    ├── c
    │   ├── d.service.js
    │   ├── e
    │   │   ├── excl-c.service.json
    │   │   └── f.service.js
    │   └── excl-b.xx.ts
    └── excl-a.serv.tsx
// requireDir.test.js
const { requireDir, scanDir } = require('@cylution/require-dir')

scanDir('services', 'service.js', {
  recurse: true
})
/*
=> [
  "/path/to/test/services/a.service.js",
  "/path/to/test/services/b.service.js",
  "/path/to/test/services/c/d.service.js",
  "/path/to/test/services/c/e/f.service.js"
]
 */
requireDir('services', '.js', { // '.js' or 'js' is same result
  recurse: true,
  keyCamelCase:true,
  removeSuffixFromKey: true, // get key aService instead of aServiceJs
})
/*
=> {
  aService: 'a.service.js', // 'a.service.js' is exported from a.service.js
  bService: 'b.service.js',
  dService: 'd.service.js',
  fService: 'f.service.js'
}
 */

Methods

requireDir(dir, suffixes, options)

lookup and require all files in dir

namerequiredtypedescription
dirstring or string[]target path(s)
suffixesstring or string[]acceptable suffix(es)
optionsxrequireDirOptionsextra options. See below

requireDirOptions

nametypedescription
recursebooleandefault: false. Lookup all sub directories
ignoreErrorsbooleandefault: false. Ignore all errors
removeSuffixFromKeybooleandefault: true. Do not include suffix to result object key
keyCamelCasebooleandefault: true. Change result object key to camelCase instead of camel-case or camel.case
esModuleImportDefaultFrombooleandefault: true. If module was exported by export default, automatically import .default

scanDir(dir, suffixes, options)

lookup and return all file's relative paths in dir

Note: requireDir use this method to scan files

namerequiredtypedescription
dirstringtarget path
suffixesstring or string[]acceptable suffix(es)
optionsxscanDirOptionsextra options. See below

scanDirOptions

nametypedescription
recursebooleandefault: false. Lookup all sub directories
ignoreErrorsbooleandefault: false. Ignore all errors
toObjectToObjectOptionsdefault: null. Return object {fileName: filePath} instead of filePath[]
ToObjectOptions
nametypedescription
removeSuffixFromKeybooleandefault: true. Do not include suffix to result object key
keyCamelCasebooleandefault: true. Change result object key to camelCase instead of camel-case or camel.case
2.0.3

2 years ago

2.0.2

2 years ago

2.1.0-0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

2.0.0-0

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.2

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago