Socket
Socket
Sign inDemoInstall

require-folder-tree

Package Overview
Dependencies
1
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.3.1 to 1.4.0

6

changelog.md

@@ -75,1 +75,7 @@ # Changelog

* README contribution section
## 1.4.0
* Ensure required files are not altered in require cache
* Bug fix: correct behavior when combining `flatten` and `filesKey` options
* README update for `fileNameAttribute` option

24

lib/index.js

@@ -104,5 +104,9 @@ // --------------------

resultFiles[file] = require(filePath);
if (options.fileNameAttribute) resultFiles[file][options.fileNameAttribute] = file;
if (options.fileParentAttribute) resultFiles[file][options.fileParentAttribute] = result;
var obj = require(filePath);
if (options.fileNameAttribute || options.fileParentAttribute) {
obj = _.clone(obj);
if (options.fileNameAttribute) obj[options.fileNameAttribute] = file;
if (options.fileParentAttribute) obj[options.fileParentAttribute] = result;
}
resultFiles[file] = obj;
});

@@ -123,3 +127,4 @@

var resultFolder = processFolder(filePath, options);
var resultFolder = processFolder(filePath, options),
resultFolderFiles = options.filesKey ? resultFolder[options.filesKey] : resultFolder;

@@ -129,7 +134,8 @@ if (options.folderNameTransform) file = options.folderNameTransform(file);

if (options.flatten) {
for (var thisFile in resultFolder) {
var thisFileName = options.flattenCustom(file, thisFile);
if (options.fileNameAttribute) resultFolder[thisFile][options.fileNameAttribute] = thisFileName;
if (options.fileParentAttribute) resultFolder[thisFile][options.fileParentAttribute] = result;
resultFolders[thisFileName] = resultFolder[thisFile];
for (var thisFile in resultFolderFiles) {
var resultFile = resultFolderFiles[thisFile],
thisFileName = options.flattenCustom(file, thisFile);
if (options.fileNameAttribute) resultFile[options.fileNameAttribute] = thisFileName;
if (options.fileParentAttribute) resultFile[options.fileParentAttribute] = result;
resultFiles[thisFileName] = resultFile;
}

@@ -136,0 +142,0 @@ } else {

{
"name": "require-folder-tree",
"version": "1.3.1",
"version": "1.4.0",
"description": "Utility to require multiple files in a folder tree with flexible options",

@@ -5,0 +5,0 @@ "main": "./lib/",

@@ -97,3 +97,3 @@ # require-folder-tree.js

When set, saves the file name (after `fileNameTransform` has been applied) as an attribute of each `require`-d file.
When set, saves the file name (after `fileNameTransform` and `flatten` have been applied) as an attribute of each `require`-d file.
If `true`, uses value `'name'`. Defaults to `undefined`.

@@ -217,2 +217,7 @@

## Other usage notes
This module will never alter the contents of the require cache.
i.e. if you `require()` any of the files again, they will not have been altered by e.g. using `fileNameAttribute` option.
## Tests

@@ -219,0 +224,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc