@ainc/fs 0.1.11 → 0.1.15

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.
Files changed (186) hide show
  1. package/README.md +1 -0
  2. package/dist/basename.d.ts +6 -6
  3. package/dist/basename.js +16 -16
  4. package/dist/copy.d.ts +40 -40
  5. package/dist/copy.js +89 -89
  6. package/dist/copy.js.map +1 -1
  7. package/dist/cpdir.d.ts +19 -19
  8. package/dist/cpdir.js +28 -28
  9. package/dist/cpdir.js.map +1 -1
  10. package/dist/cwd.d.ts +6 -6
  11. package/dist/cwd.js +16 -16
  12. package/dist/dirname.d.ts +6 -6
  13. package/dist/dirname.js +30 -30
  14. package/dist/extname.d.ts +6 -6
  15. package/dist/extname.js +16 -16
  16. package/dist/filename.d.ts +6 -6
  17. package/dist/filename.js +24 -24
  18. package/dist/find.d.ts +26 -26
  19. package/dist/find.js +72 -72
  20. package/dist/find.js.map +1 -1
  21. package/dist/findFile.d.ts +20 -20
  22. package/dist/findFile.js +39 -39
  23. package/dist/findFile.js.map +1 -1
  24. package/dist/finddir.d.ts +20 -20
  25. package/dist/finddir.js +39 -39
  26. package/dist/finddir.js.map +1 -1
  27. package/dist/helpers/FileResolver.d.ts +54 -0
  28. package/dist/helpers/FileResolver.d.ts.map +1 -0
  29. package/dist/helpers/FileResolver.js +184 -0
  30. package/dist/helpers/FileResolver.js.map +1 -0
  31. package/dist/helpers/compose.d.ts +14 -0
  32. package/dist/helpers/compose.d.ts.map +1 -0
  33. package/dist/helpers/compose.js +38 -0
  34. package/dist/helpers/compose.js.map +1 -0
  35. package/dist/helpers/each.d.ts +7 -0
  36. package/dist/helpers/each.d.ts.map +1 -0
  37. package/dist/helpers/each.js +21 -0
  38. package/dist/helpers/each.js.map +1 -0
  39. package/dist/helpers/match.d.ts +7 -0
  40. package/dist/helpers/match.d.ts.map +1 -0
  41. package/dist/helpers/match.js +30 -0
  42. package/dist/helpers/match.js.map +1 -0
  43. package/dist/helpers/normalizePath.d.ts +23 -0
  44. package/dist/helpers/normalizePath.d.ts.map +1 -0
  45. package/dist/helpers/normalizePath.js +37 -0
  46. package/dist/helpers/normalizePath.js.map +1 -0
  47. package/dist/helpers/safeCall.d.ts +7 -0
  48. package/dist/helpers/safeCall.d.ts.map +1 -0
  49. package/dist/helpers/safeCall.js +24 -0
  50. package/dist/helpers/safeCall.js.map +1 -0
  51. package/dist/helpers/split.d.ts +7 -0
  52. package/dist/helpers/split.d.ts.map +1 -0
  53. package/dist/helpers/split.js +25 -0
  54. package/dist/helpers/split.js.map +1 -0
  55. package/dist/helpers/stripBOM.d.ts +7 -0
  56. package/dist/helpers/stripBOM.d.ts.map +1 -0
  57. package/dist/helpers/stripBOM.js +19 -0
  58. package/dist/helpers/stripBOM.js.map +1 -0
  59. package/dist/helpers/stripComments.d.ts +7 -0
  60. package/dist/helpers/stripComments.d.ts.map +1 -0
  61. package/dist/{normalizeJSON.js → helpers/stripComments.js} +145 -145
  62. package/dist/helpers/stripComments.js.map +1 -0
  63. package/dist/homedir.d.ts +6 -6
  64. package/dist/homedir.js +31 -31
  65. package/dist/includePaths.d.ts +6 -6
  66. package/dist/includePaths.js +53 -53
  67. package/dist/includePaths.js.map +1 -1
  68. package/dist/index.d.ts +43 -44
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +90 -92
  71. package/dist/index.js.map +1 -1
  72. package/dist/indir.d.ts +13 -13
  73. package/dist/indir.js +26 -26
  74. package/dist/isAbsolutePath.d.ts +6 -6
  75. package/dist/isAbsolutePath.js +24 -24
  76. package/dist/isDirectory.d.ts +12 -12
  77. package/dist/isDirectory.js +26 -26
  78. package/dist/isDirectory.js.map +1 -1
  79. package/dist/isRelativePath.d.ts +6 -6
  80. package/dist/isRelativePath.js +44 -44
  81. package/dist/json.d.ts +21 -21
  82. package/dist/json.d.ts.map +1 -1
  83. package/dist/json.js +34 -33
  84. package/dist/json.js.map +1 -1
  85. package/dist/jsonc.d.ts +21 -21
  86. package/dist/jsonc.js +40 -40
  87. package/dist/jsonc.js.map +1 -1
  88. package/dist/lstat.d.ts +22 -22
  89. package/dist/lstat.js +30 -30
  90. package/dist/mapdir.d.ts +22 -22
  91. package/dist/mapdir.js +42 -42
  92. package/dist/mapdir.js.map +1 -1
  93. package/dist/mkdir.d.ts +6 -6
  94. package/dist/mkdir.js +37 -37
  95. package/dist/mkdir.js.map +1 -1
  96. package/dist/parseJSON.d.ts +16 -0
  97. package/dist/parseJSON.d.ts.map +1 -0
  98. package/dist/parseJSON.js +29 -0
  99. package/dist/parseJSON.js.map +1 -0
  100. package/dist/readFile.d.ts +29 -29
  101. package/dist/readFile.js +26 -26
  102. package/dist/readFile.js.map +1 -1
  103. package/dist/readStream.d.ts +36 -36
  104. package/dist/readStream.d.ts.map +1 -1
  105. package/dist/readStream.js +19 -19
  106. package/dist/readStream.js.map +1 -1
  107. package/dist/readdir.d.ts +16 -16
  108. package/dist/readdir.js +34 -34
  109. package/dist/readdir.js.map +1 -1
  110. package/dist/readline.d.ts +16 -16
  111. package/dist/readline.d.ts.map +1 -1
  112. package/dist/readline.js +24 -24
  113. package/dist/readline.js.map +1 -1
  114. package/dist/realpath.d.ts +12 -12
  115. package/dist/realpath.js +32 -32
  116. package/dist/realpath.js.map +1 -1
  117. package/dist/relative.d.ts +6 -6
  118. package/dist/relative.js +38 -38
  119. package/dist/resolve.d.ts +26 -26
  120. package/dist/resolve.js +53 -53
  121. package/dist/resolve.js.map +1 -1
  122. package/dist/resolvePath.d.ts +27 -0
  123. package/dist/resolvePath.d.ts.map +1 -0
  124. package/dist/resolvePath.js +178 -0
  125. package/dist/resolvePath.js.map +1 -0
  126. package/dist/rmdir.d.ts +6 -6
  127. package/dist/rmdir.js +40 -40
  128. package/dist/rmdir.js.map +1 -1
  129. package/dist/stat.d.ts +21 -21
  130. package/dist/stat.js +30 -30
  131. package/dist/supdir.d.ts +21 -15
  132. package/dist/supdir.d.ts.map +1 -1
  133. package/dist/supdir.js +62 -35
  134. package/dist/supdir.js.map +1 -1
  135. package/dist/symlink.d.ts +22 -22
  136. package/dist/symlink.js +39 -39
  137. package/dist/symlink.js.map +1 -1
  138. package/dist/unlink.d.ts +6 -6
  139. package/dist/unlink.js +28 -28
  140. package/dist/unlink.js.map +1 -1
  141. package/dist/usedir.d.ts +6 -6
  142. package/dist/usedir.js +24 -24
  143. package/dist/writeFile.d.ts +33 -33
  144. package/dist/writeFile.js +49 -49
  145. package/dist/writeFile.js.map +1 -1
  146. package/dist/writeStream.d.ts +35 -35
  147. package/dist/writeStream.d.ts.map +1 -1
  148. package/dist/writeStream.js +19 -19
  149. package/dist/writeStream.js.map +1 -1
  150. package/package.json +5 -5
  151. package/src/helpers/FileResolver.ts +282 -0
  152. package/src/helpers/compose.ts +49 -0
  153. package/src/helpers/each.ts +19 -0
  154. package/src/helpers/match.ts +31 -0
  155. package/src/helpers/normalizePath.ts +51 -0
  156. package/src/helpers/safeCall.ts +21 -0
  157. package/src/helpers/split.ts +25 -0
  158. package/src/helpers/stripBOM.ts +17 -0
  159. package/src/{normalizeJSON.ts → helpers/stripComments.ts} +1 -1
  160. package/src/index.ts +2 -3
  161. package/src/json.ts +2 -1
  162. package/src/jsonc.ts +2 -2
  163. package/src/parseJSON.ts +40 -0
  164. package/src/readStream.ts +2 -2
  165. package/src/readline.ts +2 -2
  166. package/src/resolvePath.ts +234 -0
  167. package/src/supdir.ts +31 -0
  168. package/src/writeStream.ts +2 -2
  169. package/dist/normalizeJSON.d.ts +0 -7
  170. package/dist/normalizeJSON.d.ts.map +0 -1
  171. package/dist/normalizeJSON.js.map +0 -1
  172. package/dist/resolveFile.d.ts +0 -22
  173. package/dist/resolveFile.d.ts.map +0 -1
  174. package/dist/resolveFile.js +0 -80
  175. package/dist/resolveFile.js.map +0 -1
  176. package/dist/resolveModule.d.ts +0 -41
  177. package/dist/resolveModule.d.ts.map +0 -1
  178. package/dist/resolveModule.js +0 -119
  179. package/dist/resolveModule.js.map +0 -1
  180. package/dist/resolvePaths.d.ts +0 -22
  181. package/dist/resolvePaths.d.ts.map +0 -1
  182. package/dist/resolvePaths.js +0 -233
  183. package/dist/resolvePaths.js.map +0 -1
  184. package/src/resolveFile.ts +0 -103
  185. package/src/resolveModule.ts +0 -157
  186. package/src/resolvePaths.ts +0 -320
@@ -1,145 +1,145 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2021-05-31 22:41:48
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.normalizeJSON = void 0;
10
- /**
11
- *****************************************
12
- * 判断是否为转义字符
13
- *****************************************
14
- */
15
- function isEscaped(index, source) {
16
- let count = 1;
17
- // 统计转义字符
18
- while (source[index - count] === '\\') {
19
- count++;
20
- }
21
- // 判断是否转义
22
- return count % 2;
23
- }
24
- /**
25
- *****************************************
26
- * 判断是否为结尾的逗号
27
- *****************************************
28
- */
29
- function isTrailingComma(start, source) {
30
- let ch = source[start];
31
- // 过滤空白字符
32
- while (' \n\r'.indexOf(ch) > -1) {
33
- ch = source[++start];
34
- }
35
- // 返回是否为结束符
36
- return '}]'.indexOf(ch) > -1;
37
- }
38
- /**
39
- *****************************************
40
- * 查找字符串结束
41
- *****************************************
42
- */
43
- function indexStringEnd(start, ch, source) {
44
- const idx = source.indexOf(ch, start);
45
- // 判断是否查找结束
46
- if (idx === -1) {
47
- return source.length;
48
- }
49
- else {
50
- return isEscaped(idx, source) ? idx + 1 : indexStringEnd(idx + 1, ch, source);
51
- }
52
- }
53
- /**
54
- *****************************************
55
- * 查找行注释结束
56
- *****************************************
57
- */
58
- function indexLineCommentEnd(start, source) {
59
- const idx = source.indexOf('\n', start);
60
- // 判断是否查找结束
61
- if (idx === -1) {
62
- return source.length;
63
- }
64
- else {
65
- return source[idx - 1] === '\r' ? idx - 1 : idx;
66
- }
67
- }
68
- /**
69
- *****************************************
70
- * 查找块注释结束
71
- *****************************************
72
- */
73
- function indexBlockCommentEnd(start, source) {
74
- const idx = source.indexOf('/', start);
75
- if (idx === -1) {
76
- return source.length;
77
- }
78
- else if (source[idx - 1] === '*') {
79
- return idx + 1;
80
- }
81
- else {
82
- return indexBlockCommentEnd(idx + 1, source);
83
- }
84
- }
85
- /**
86
- *****************************************
87
- * 过滤注释
88
- *****************************************
89
- */
90
- function normalizeJSON(content) {
91
- let result = '';
92
- let idx = 0;
93
- let len = content.length;
94
- let start = 0;
95
- // 检测第一个字符是否为BOM
96
- if (content.charCodeAt(0) === 0xFEFF) {
97
- idx = start = 1;
98
- }
99
- // 遍历字符
100
- while (idx < len) {
101
- const ch = content[idx];
102
- // 跳过字符串
103
- if (ch === '"' || ch === '\'') {
104
- idx = indexStringEnd(idx + 1, ch, content);
105
- continue;
106
- }
107
- // 自增偏移
108
- idx++;
109
- // 判断是为结尾的逗号
110
- if (ch === ',' && isTrailingComma(idx, content)) {
111
- result += content.slice(start, idx - 1);
112
- start = idx;
113
- idx = start + 1;
114
- continue;
115
- }
116
- // 非注释
117
- if (ch !== '/') {
118
- continue;
119
- }
120
- // 获取下一字符
121
- const next = content[idx];
122
- // 处理行注释
123
- if (next === '/') {
124
- result += content.slice(start, idx - 1);
125
- start = indexLineCommentEnd(idx + 1, content);
126
- idx = start + 1;
127
- continue;
128
- }
129
- // 处理多行注释
130
- if (next === '*') {
131
- result += content.slice(start, idx - 1);
132
- start = indexBlockCommentEnd(idx + 2, content);
133
- idx = start;
134
- continue;
135
- }
136
- }
137
- // 添加结束片段
138
- if (start < len) {
139
- result += content.slice(start);
140
- }
141
- // 返回结果
142
- return result;
143
- }
144
- exports.normalizeJSON = normalizeJSON;
145
- //# sourceMappingURL=normalizeJSON.js.map
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2021-05-31 22:41:48
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.stripComments = void 0;
10
+ /**
11
+ *****************************************
12
+ * 判断是否为转义字符
13
+ *****************************************
14
+ */
15
+ function isEscaped(index, source) {
16
+ let count = 1;
17
+ // 统计转义字符
18
+ while (source[index - count] === '\\') {
19
+ count++;
20
+ }
21
+ // 判断是否转义
22
+ return count % 2;
23
+ }
24
+ /**
25
+ *****************************************
26
+ * 判断是否为结尾的逗号
27
+ *****************************************
28
+ */
29
+ function isTrailingComma(start, source) {
30
+ let ch = source[start];
31
+ // 过滤空白字符
32
+ while (' \n\r'.indexOf(ch) > -1) {
33
+ ch = source[++start];
34
+ }
35
+ // 返回是否为结束符
36
+ return '}]'.indexOf(ch) > -1;
37
+ }
38
+ /**
39
+ *****************************************
40
+ * 查找字符串结束
41
+ *****************************************
42
+ */
43
+ function indexStringEnd(start, ch, source) {
44
+ const idx = source.indexOf(ch, start);
45
+ // 判断是否查找结束
46
+ if (idx === -1) {
47
+ return source.length;
48
+ }
49
+ else {
50
+ return isEscaped(idx, source) ? idx + 1 : indexStringEnd(idx + 1, ch, source);
51
+ }
52
+ }
53
+ /**
54
+ *****************************************
55
+ * 查找行注释结束
56
+ *****************************************
57
+ */
58
+ function indexLineCommentEnd(start, source) {
59
+ const idx = source.indexOf('\n', start);
60
+ // 判断是否查找结束
61
+ if (idx === -1) {
62
+ return source.length;
63
+ }
64
+ else {
65
+ return source[idx - 1] === '\r' ? idx - 1 : idx;
66
+ }
67
+ }
68
+ /**
69
+ *****************************************
70
+ * 查找块注释结束
71
+ *****************************************
72
+ */
73
+ function indexBlockCommentEnd(start, source) {
74
+ const idx = source.indexOf('/', start);
75
+ if (idx === -1) {
76
+ return source.length;
77
+ }
78
+ else if (source[idx - 1] === '*') {
79
+ return idx + 1;
80
+ }
81
+ else {
82
+ return indexBlockCommentEnd(idx + 1, source);
83
+ }
84
+ }
85
+ /**
86
+ *****************************************
87
+ * 过滤注释
88
+ *****************************************
89
+ */
90
+ function stripComments(content) {
91
+ let result = '';
92
+ let idx = 0;
93
+ let len = content.length;
94
+ let start = 0;
95
+ // 检测第一个字符是否为BOM
96
+ if (content.charCodeAt(0) === 0xFEFF) {
97
+ idx = start = 1;
98
+ }
99
+ // 遍历字符
100
+ while (idx < len) {
101
+ const ch = content[idx];
102
+ // 跳过字符串
103
+ if (ch === '"' || ch === '\'') {
104
+ idx = indexStringEnd(idx + 1, ch, content);
105
+ continue;
106
+ }
107
+ // 自增偏移
108
+ idx++;
109
+ // 判断是为结尾的逗号
110
+ if (ch === ',' && isTrailingComma(idx, content)) {
111
+ result += content.slice(start, idx - 1);
112
+ start = idx;
113
+ idx = start + 1;
114
+ continue;
115
+ }
116
+ // 非注释
117
+ if (ch !== '/') {
118
+ continue;
119
+ }
120
+ // 获取下一字符
121
+ const next = content[idx];
122
+ // 处理行注释
123
+ if (next === '/') {
124
+ result += content.slice(start, idx - 1);
125
+ start = indexLineCommentEnd(idx + 1, content);
126
+ idx = start + 1;
127
+ continue;
128
+ }
129
+ // 处理多行注释
130
+ if (next === '*') {
131
+ result += content.slice(start, idx - 1);
132
+ start = indexBlockCommentEnd(idx + 2, content);
133
+ idx = start;
134
+ continue;
135
+ }
136
+ }
137
+ // 添加结束片段
138
+ if (start < len) {
139
+ result += content.slice(start);
140
+ }
141
+ // 返回结果
142
+ return result;
143
+ }
144
+ exports.stripComments = stripComments;
145
+ //# sourceMappingURL=stripComments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripComments.js","sourceRoot":"","sources":["../../src/helpers/stripComments.ts"],"names":[],"mappings":"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"}
package/dist/homedir.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- /**
2
- *****************************************
3
- * 使用目录路径
4
- *****************************************
5
- */
6
- export declare function homedir(...args: string[]): string;
1
+ /**
2
+ *****************************************
3
+ * 使用目录路径
4
+ *****************************************
5
+ */
6
+ export declare function homedir(...args: string[]): string;
7
7
  //# sourceMappingURL=homedir.d.ts.map
package/dist/homedir.js CHANGED
@@ -1,32 +1,32 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2019-11-14 10:19:06
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.homedir = void 0;
10
- /**
11
- *****************************************
12
- * 加载依赖
13
- *****************************************
14
- */
15
- const os = require("os");
16
- const path = require("path");
17
- /**
18
- *****************************************
19
- * 用户目录
20
- *****************************************
21
- */
22
- const basedir = os.homedir();
23
- /**
24
- *****************************************
25
- * 使用目录路径
26
- *****************************************
27
- */
28
- function homedir(...args) {
29
- return path.resolve(basedir, ...args);
30
- }
31
- exports.homedir = homedir;
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2019-11-14 10:19:06
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.homedir = void 0;
10
+ /**
11
+ *****************************************
12
+ * 加载依赖
13
+ *****************************************
14
+ */
15
+ const os = require("os");
16
+ const path = require("path");
17
+ /**
18
+ *****************************************
19
+ * 用户目录
20
+ *****************************************
21
+ */
22
+ const basedir = os.homedir();
23
+ /**
24
+ *****************************************
25
+ * 使用目录路径
26
+ *****************************************
27
+ */
28
+ function homedir(...args) {
29
+ return path.resolve(basedir, ...args);
30
+ }
31
+ exports.homedir = homedir;
32
32
  //# sourceMappingURL=homedir.js.map
@@ -1,7 +1,7 @@
1
- /**
2
- *****************************************
3
- * 解析路径别名
4
- *****************************************
5
- */
6
- export declare function includePaths(paths: string[]): (source: string) => boolean;
1
+ /**
2
+ *****************************************
3
+ * 解析路径别名
4
+ *****************************************
5
+ */
6
+ export declare function includePaths(paths: string[]): (source: string) => boolean;
7
7
  //# sourceMappingURL=includePaths.d.ts.map
@@ -1,54 +1,54 @@
1
- /**
2
- *****************************************
3
- * Created by edonet@163.com
4
- * Created on 2021-05-25 22:34:41
5
- *****************************************
6
- */
7
- 'use strict';
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.includePaths = void 0;
10
- /**
11
- *****************************************
12
- * 加载依赖
13
- *****************************************
14
- */
15
- const path_1 = require("path");
16
- const isAbsolutePath_1 = require("./isAbsolutePath");
17
- const isRelativePath_1 = require("./isRelativePath");
18
- /**
19
- *****************************************
20
- * 解析路径别名
21
- *****************************************
22
- */
23
- function includePaths(paths) {
24
- const rules = paths.map(value => {
25
- // 处理相对路径
26
- if (isRelativePath_1.isRelativePath(value)) {
27
- value = path_1.resolve(value);
28
- }
29
- // 处理组对目录
30
- if (isAbsolutePath_1.isAbsolutePath(value)) {
31
- const prefix = value + path_1.sep;
32
- // 添加匹配规则
33
- return (source) => source === value || source.startsWith(prefix);
34
- }
35
- // 切分路径分段
36
- const chunks = value.split('/');
37
- // 生成匹配函数
38
- return (source) => {
39
- const list = source.split(path_1.sep);
40
- // 匹配是否包含路径
41
- for (let idx = 0, len = list.length - chunks.length + 1; idx < len; idx++) {
42
- if (chunks.every((chunk, offset) => chunk === list[idx + offset])) {
43
- return true;
44
- }
45
- }
46
- // 匹配失败
47
- return false;
48
- };
49
- });
50
- // 返回匹配函数
51
- return (source) => rules.some(rule => rule(source));
52
- }
53
- exports.includePaths = includePaths;
1
+ /**
2
+ *****************************************
3
+ * Created by edonet@163.com
4
+ * Created on 2021-05-25 22:34:41
5
+ *****************************************
6
+ */
7
+ 'use strict';
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.includePaths = void 0;
10
+ /**
11
+ *****************************************
12
+ * 加载依赖
13
+ *****************************************
14
+ */
15
+ const path_1 = require("path");
16
+ const isAbsolutePath_1 = require("./isAbsolutePath");
17
+ const isRelativePath_1 = require("./isRelativePath");
18
+ /**
19
+ *****************************************
20
+ * 解析路径别名
21
+ *****************************************
22
+ */
23
+ function includePaths(paths) {
24
+ const rules = paths.map(value => {
25
+ // 处理相对路径
26
+ if ((0, isRelativePath_1.isRelativePath)(value)) {
27
+ value = (0, path_1.resolve)(value);
28
+ }
29
+ // 处理组对目录
30
+ if ((0, isAbsolutePath_1.isAbsolutePath)(value)) {
31
+ const prefix = value + path_1.sep;
32
+ // 添加匹配规则
33
+ return (source) => source === value || source.startsWith(prefix);
34
+ }
35
+ // 切分路径分段
36
+ const chunks = value.split('/');
37
+ // 生成匹配函数
38
+ return (source) => {
39
+ const list = source.split(path_1.sep);
40
+ // 匹配是否包含路径
41
+ for (let idx = 0, len = list.length - chunks.length + 1; idx < len; idx++) {
42
+ if (chunks.every((chunk, offset) => chunk === list[idx + offset])) {
43
+ return true;
44
+ }
45
+ }
46
+ // 匹配失败
47
+ return false;
48
+ };
49
+ });
50
+ // 返回匹配函数
51
+ return (source) => rules.some(rule => rule(source));
52
+ }
53
+ exports.includePaths = includePaths;
54
54
  //# sourceMappingURL=includePaths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"includePaths.js","sourceRoot":"","sources":["../src/includePaths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,CAAC;;;AAGb;;;;GAIG;AACH,+BAAoC;AACpC,qDAAkD;AAClD,qDAAkD;AAGlD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAe;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAE5B,SAAS;QACT,IAAI,+BAAc,CAAC,KAAK,CAAC,EAAE;YACvB,KAAK,GAAG,cAAO,CAAC,KAAK,CAAC,CAAC;SAC1B;QAED,SAAS;QACT,IAAI,+BAAc,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,MAAM,GAAG,KAAK,GAAG,UAAG,CAAC;YAE3B,SAAS;YACT,OAAO,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAC5E;QAED,SAAS;QACT,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhC,SAAS;QACT,OAAO,CAAC,MAAc,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;YAE/B,WAAW;YACX,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAG,EAAE;gBACxE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE;oBAC/D,OAAO,IAAI,CAAC;iBACf;aACJ;YAED,OAAO;YACP,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,OAAO,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,CAAC;AArCD,oCAqCC"}
1
+ {"version":3,"file":"includePaths.js","sourceRoot":"","sources":["../src/includePaths.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,CAAC;;;AAGb;;;;GAIG;AACH,+BAAoC;AACpC,qDAAkD;AAClD,qDAAkD;AAGlD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAe;IACxC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QAE5B,SAAS;QACT,IAAI,IAAA,+BAAc,EAAC,KAAK,CAAC,EAAE;YACvB,KAAK,GAAG,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;SAC1B;QAED,SAAS;QACT,IAAI,IAAA,+BAAc,EAAC,KAAK,CAAC,EAAE;YACvB,MAAM,MAAM,GAAG,KAAK,GAAG,UAAG,CAAC;YAE3B,SAAS;YACT,OAAO,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAC5E;QAED,SAAS;QACT,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhC,SAAS;QACT,OAAO,CAAC,MAAc,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;YAE/B,WAAW;YACX,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAG,EAAE;gBACxE,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE;oBAC/D,OAAO,IAAI,CAAC;iBACf;aACJ;YAED,OAAO;YACP,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,SAAS;IACT,OAAO,CAAC,MAAc,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,CAAC;AArCD,oCAqCC"}
package/dist/index.d.ts CHANGED
@@ -1,45 +1,44 @@
1
- /**
2
- *****************************************
3
- * 抛出模块
4
- *****************************************
5
- */
6
- export { homedir } from './homedir';
7
- export { cwd } from './cwd';
8
- export { realpath } from './realpath';
9
- export { dirname } from './dirname';
10
- export { filename } from './filename';
11
- export { basename } from './basename';
12
- export { extname } from './extname';
13
- export { stat } from './stat';
14
- export { lstat } from './lstat';
15
- export { isDirectory } from './isDirectory';
16
- export { indir } from './indir';
17
- export { json } from './json';
18
- export { jsonc } from './jsonc';
19
- export { copy } from './copy';
20
- export { cpdir } from './cpdir';
21
- export { find } from './find';
22
- export { readFile } from './readFile';
23
- export { readline } from './readline';
24
- export { readStream } from './readStream';
25
- export { writeFile } from './writeFile';
26
- export { writeStream } from './writeStream';
27
- export { findFile } from './findFile';
28
- export { resolve } from './resolve';
29
- export { relative } from './relative';
30
- export { unlink } from './unlink';
31
- export { readdir } from './readdir';
32
- export { mkdir } from './mkdir';
33
- export { finddir } from './finddir';
34
- export { rmdir } from './rmdir';
35
- export { mapdir } from './mapdir';
36
- export { symlink } from './symlink';
37
- export { usedir } from './usedir';
38
- export { supdir } from './supdir';
39
- export { resolveFile } from './resolveFile';
40
- export { resolveModule } from './resolveModule';
41
- export { resolvePaths } from './resolvePaths';
42
- export { includePaths } from './includePaths';
43
- export { isAbsolutePath } from './isAbsolutePath';
44
- export { isRelativePath } from './isRelativePath';
1
+ /**
2
+ *****************************************
3
+ * 抛出模块
4
+ *****************************************
5
+ */
6
+ export { homedir } from './homedir';
7
+ export { cwd } from './cwd';
8
+ export { realpath } from './realpath';
9
+ export { dirname } from './dirname';
10
+ export { filename } from './filename';
11
+ export { basename } from './basename';
12
+ export { extname } from './extname';
13
+ export { stat } from './stat';
14
+ export { lstat } from './lstat';
15
+ export { isDirectory } from './isDirectory';
16
+ export { indir } from './indir';
17
+ export { json } from './json';
18
+ export { jsonc } from './jsonc';
19
+ export { parseJSON } from './parseJSON';
20
+ export { copy } from './copy';
21
+ export { cpdir } from './cpdir';
22
+ export { find } from './find';
23
+ export { readFile } from './readFile';
24
+ export { readline } from './readline';
25
+ export { readStream } from './readStream';
26
+ export { writeFile } from './writeFile';
27
+ export { writeStream } from './writeStream';
28
+ export { findFile } from './findFile';
29
+ export { resolve } from './resolve';
30
+ export { relative } from './relative';
31
+ export { unlink } from './unlink';
32
+ export { readdir } from './readdir';
33
+ export { mkdir } from './mkdir';
34
+ export { finddir } from './finddir';
35
+ export { rmdir } from './rmdir';
36
+ export { mapdir } from './mapdir';
37
+ export { symlink } from './symlink';
38
+ export { usedir } from './usedir';
39
+ export { supdir } from './supdir';
40
+ export { resolvePath } from './resolvePath';
41
+ export { includePaths } from './includePaths';
42
+ export { isAbsolutePath } from './isAbsolutePath';
43
+ export { isRelativePath } from './isRelativePath';
45
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}