1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.resolveDirectory = exports.walkSync = exports.relativePath = exports.absolutePath = void 0;
|
4 | var fs = require('fs-extra');
|
5 | var path = require('path');
|
6 | var isbinaryfile = require('isbinaryfile');
|
7 | var pathModule = require('path');
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 | function absolutePath(path, sharedFolder) {
|
16 | path = normalizePath(path);
|
17 | if (path.indexOf(sharedFolder) !== 0) {
|
18 | path = pathModule.resolve(sharedFolder, path);
|
19 | }
|
20 | return path;
|
21 | }
|
22 | exports.absolutePath = absolutePath;
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 | function relativePath(path, sharedFolder) {
|
31 | var relative = pathModule.relative(sharedFolder, path);
|
32 | return normalizePath(relative);
|
33 | }
|
34 | exports.relativePath = relativePath;
|
35 | function normalizePath(path) {
|
36 | if (process.platform === 'win32') {
|
37 | return path.replace(/\\/g, '/');
|
38 | }
|
39 | return path;
|
40 | }
|
41 | function walkSync(dir, filelist, sharedFolder) {
|
42 | var files = fs.readdirSync(dir);
|
43 | filelist = filelist || {};
|
44 | files.forEach(function (file) {
|
45 | var subElement = path.join(dir, file);
|
46 | if (!fs.lstatSync(subElement).isSymbolicLink()) {
|
47 | if (fs.statSync(subElement).isDirectory()) {
|
48 | filelist = walkSync(subElement, filelist, sharedFolder);
|
49 | }
|
50 | else {
|
51 | var relative = relativePath(subElement, sharedFolder);
|
52 | filelist[relative] = isbinaryfile.sync(subElement);
|
53 | }
|
54 | }
|
55 | });
|
56 | return filelist;
|
57 | }
|
58 | exports.walkSync = walkSync;
|
59 | function resolveDirectory(dir, sharedFolder) {
|
60 | var ret = {};
|
61 | var files = fs.readdirSync(dir);
|
62 | files.forEach(function (file) {
|
63 | var subElement = path.join(dir, file);
|
64 | if (!fs.lstatSync(subElement).isSymbolicLink()) {
|
65 | var relative = relativePath(subElement, sharedFolder);
|
66 | ret[relative] = { isDirectory: fs.statSync(subElement).isDirectory() };
|
67 | }
|
68 | });
|
69 | return ret;
|
70 | }
|
71 | exports.resolveDirectory = resolveDirectory;
|