@awesomeness-js/utils 1.0.15 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/src/getAllFiles.js +47 -20
- package/src/utils/buildFileDataList.js +4 -1
- package/test.js +7 -2
- package/types/getAllFiles.d.ts +6 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awesomeness-js/utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.17",
|
|
4
4
|
"description": "Awesomeness - Utils",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"postBuild": "node ./build/postBuild.js"
|
|
13
13
|
},
|
|
14
14
|
"type": "module",
|
|
15
|
+
"types": "./types/index.d.ts",
|
|
15
16
|
"main": "index.js",
|
|
16
17
|
"author": "Scott Forte",
|
|
17
18
|
"license": "MIT",
|
package/src/getAllFiles.js
CHANGED
|
@@ -2,24 +2,51 @@ import { readdirSync, statSync } from 'fs';
|
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import shouldIgnore from './utils/shouldIgnore.js';
|
|
4
4
|
|
|
5
|
-
export default function getAllFiles(base,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
5
|
+
export default function getAllFiles(base, {
|
|
6
|
+
dir = '.',
|
|
7
|
+
files = [],
|
|
8
|
+
ignore = [],
|
|
9
|
+
fileTypes = []
|
|
10
|
+
} = {}) {
|
|
11
|
+
|
|
12
|
+
const directory = join(base, dir);
|
|
13
|
+
const normalizedDir = dir.replace(/\\/g, '/');
|
|
14
|
+
|
|
15
|
+
if (ignore.some(pattern => normalizedDir.startsWith(pattern.replace(/\/\*$/, '')))) {
|
|
16
|
+
return files;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const sortedFiles = readdirSync(directory).sort();
|
|
20
|
+
|
|
21
|
+
sortedFiles.forEach(file => {
|
|
22
|
+
|
|
23
|
+
const fullPath = join(directory, file);
|
|
24
|
+
const relativePath = join(dir, file).replace(/\\/g, '/');
|
|
25
|
+
|
|
26
|
+
if (shouldIgnore(relativePath, ignore)) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (statSync(fullPath).isDirectory()) {
|
|
31
|
+
|
|
32
|
+
getAllFiles(base, {
|
|
33
|
+
dir: join(dir, file),
|
|
34
|
+
files,
|
|
35
|
+
ignore
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
} else {
|
|
39
|
+
|
|
40
|
+
if(fileTypes.length > 0) {
|
|
41
|
+
if (!fileTypes.some(ext => file.endsWith(ext))) return;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
files.push(relativePath);
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return files;
|
|
51
|
+
|
|
25
52
|
}
|
|
@@ -3,7 +3,10 @@ import extractJSDocComment from './extractJSDocComment.js';
|
|
|
3
3
|
import { join } from 'path';
|
|
4
4
|
|
|
5
5
|
export default function buildFileDataList(src, ignore, includeComments) {
|
|
6
|
-
const allFiles = getAllFiles(src,
|
|
6
|
+
const allFiles = getAllFiles(src, {
|
|
7
|
+
ignore,
|
|
8
|
+
fileTypes: ['.js']
|
|
9
|
+
});
|
|
7
10
|
return allFiles.map(file => {
|
|
8
11
|
const normalizedFile = file.replace(/\\/g, '/');
|
|
9
12
|
const parts = normalizedFile.split('/');
|
package/test.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import utils from './index.js';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
|
|
4
|
+
let fileList2 = utils.getAllFiles('./secrets', {
|
|
5
|
+
fileTypes: ['.env'],
|
|
6
|
+
ignore: ['dev.env']
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
console.log({fileList2});
|
|
5
10
|
|
|
6
11
|
let md5Test = utils.md5('test');
|
|
7
12
|
console.log({md5Test});
|
package/types/getAllFiles.d.ts
CHANGED