1 | ;
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | const furi_1 = require("furi");
|
7 | const minimatch_1 = __importDefault(require("minimatch"));
|
8 | const node_script_url_1 = require("node-script-url");
|
9 | const path_1 = __importDefault(require("path"));
|
10 | function fromGlob(options) {
|
11 | let basePath;
|
12 | if (options.base !== undefined) {
|
13 | basePath = furi_1.toPosixPath(options.base.href);
|
14 | }
|
15 | const matches = [];
|
16 | const patterns = [...options.patterns];
|
17 | for (const pattern of patterns) {
|
18 | let absPattern;
|
19 | let type;
|
20 | if (pattern.startsWith("!")) {
|
21 | absPattern = pattern.substr(1);
|
22 | type = "negative";
|
23 | }
|
24 | else {
|
25 | absPattern = pattern;
|
26 | type = "positive";
|
27 | }
|
28 | const resolvedPattern = basePath !== undefined ? path_1.default.resolve(basePath, absPattern) : absPattern;
|
29 | matches.push({
|
30 | type,
|
31 | regexp: minimatch_1.default.makeRe(resolvedPattern, { dot: true }),
|
32 | });
|
33 | // Fix bad wildstar conversion to RegExp
|
34 | if (absPattern.startsWith("**/")) {
|
35 | const patternTail = absPattern.substr("**/".length);
|
36 | const resolvedPattern = basePath !== undefined ? path_1.default.resolve(basePath, patternTail) : patternTail;
|
37 | matches.push({
|
38 | type,
|
39 | regexp: minimatch_1.default.makeRe(resolvedPattern, { dot: true }),
|
40 | });
|
41 | }
|
42 | }
|
43 | return function filter(info) {
|
44 | if (!isRegularFile(info)) {
|
45 | return false;
|
46 | }
|
47 | const posixPath = furi_1.toPosixPath(info.url);
|
48 | for (const match of matches) {
|
49 | if (match.regexp.test(posixPath)) {
|
50 | return match.type === "positive";
|
51 | }
|
52 | }
|
53 | return false;
|
54 | };
|
55 | }
|
56 | exports.fromGlob = fromGlob;
|
57 | function isRegularFile(info) {
|
58 | return node_script_url_1.parseSys(info.url).isFileUrl;
|
59 | }
|
60 | exports.isRegularFile = isRegularFile;
|
61 | // function inCwd(info: ModuleInfo): boolean {
|
62 | // const scriptUrl: ParsedScriptUrl = parseNodeScriptUrl(info.url);
|
63 | // if (!scriptUrl.isFileUrl) {
|
64 | // return false;
|
65 | // }
|
66 | // const cwdFuri: string = fromSysPath(sysPath.resolve(process.cwd())).href;
|
67 | // return isDescendantOf(scriptUrl.url, cwdFuri);
|
68 | // }
|
69 | // function isDescendantOf(curUrl: string, ancestorUrl: string): boolean {
|
70 | // const cur: ReadonlyArray<string> = new url.URL(curUrl).pathname.split("/");
|
71 | // const ancestor: ReadonlyArray<string> = new url.URL(ancestorUrl).pathname.split("/");
|
72 | // for (const [i, segment] of ancestor.entries()) {
|
73 | // if (cur[i] !== segment) {
|
74 | // return false;
|
75 | // }
|
76 | // }
|
77 | // return true;
|
78 | // }
|
79 |
|
80 | //# sourceMappingURL=data:application/json;charset=utf8;base64,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O0FBQzlFLG1EQUFtRDtBQUNuRCxJQUFJO0FBRUosMEVBQTBFO0FBQzFFLGdGQUFnRjtBQUNoRiwwRkFBMEY7QUFDMUYscURBQXFEO0FBQ3JELGdDQUFnQztBQUNoQyxzQkFBc0I7QUFDdEIsUUFBUTtBQUNSLE1BQU07QUFDTixpQkFBaUI7QUFDakIsSUFBSSIsImZpbGUiOiJmaWx0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b1Bvc2l4UGF0aCB9IGZyb20gXCJmdXJpXCI7XG5pbXBvcnQgbWluaW1hdGNoIGZyb20gXCJtaW5pbWF0Y2hcIjtcbmltcG9ydCB7IHBhcnNlU3lzIGFzIHBhcnNlTm9kZVNjcmlwdFVybCB9IGZyb20gXCJub2RlLXNjcmlwdC11cmxcIjtcbmltcG9ydCBzeXNQYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgdXJsIGZyb20gXCJ1cmxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVJbmZvIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGlzTW9kdWxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ292ZXJhZ2VGaWx0ZXIgPSAoaW5mbzogTW9kdWxlSW5mbykgPT4gYm9vbGVhbjtcblxuZXhwb3J0IGludGVyZmFjZSBGcm9tR2xvYk9wdGlvbnMge1xuICBwYXR0ZXJuczogUmVhZG9ubHlBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBCYXNlIGZpbGUgVVJMIGZvciByZWxhdGl2ZSBwYXR0ZXJucy5cbiAgICovXG4gIGJhc2U/OiB1cmwuVVJMO1xufVxuXG5pbnRlcmZhY2UgRnVyaU1hdGNoIHtcbiAgdHlwZTogXCJuZWdhdGl2ZVwiIHwgXCJwb3NpdGl2ZVwiO1xuICByZWdleHA6IFJlZ0V4cDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21HbG9iKG9wdGlvbnM6IEZyb21HbG9iT3B0aW9ucyk6IENvdmVyYWdlRmlsdGVyIHtcbiAgbGV0IGJhc2VQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGlmIChvcHRpb25zLmJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGJhc2VQYXRoID0gdG9Qb3NpeFBhdGgob3B0aW9ucy5iYXNlLmhyZWYpO1xuICB9XG5cbiAgY29uc3QgbWF0Y2hlczogRnVyaU1hdGNoW10gPSBbXTtcbiAgY29uc3QgcGF0dGVybnM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPiA9IFsuLi5vcHRpb25zLnBhdHRlcm5zXTtcbiAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIHBhdHRlcm5zKSB7XG4gICAgbGV0IGFic1BhdHRlcm46IHN0cmluZztcbiAgICBsZXQgdHlwZTogXCJuZWdhdGl2ZVwiIHwgXCJwb3NpdGl2ZVwiO1xuICAgIGlmIChwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIhXCIpKSB7XG4gICAgICBhYnNQYXR0ZXJuID0gcGF0dGVybi5zdWJzdHIoMSk7XG4gICAgICB0eXBlID0gXCJuZWdhdGl2ZVwiO1xuICAgIH0gZWxzZSB7XG4gICAgICBhYnNQYXR0ZXJuID0gcGF0dGVybjtcbiAgICAgIHR5cGUgPSBcInBvc2l0aXZlXCI7XG4gICAgfVxuICAgIGNvbnN0IHJlc29sdmVkUGF0dGVybjogc3RyaW5nID0gYmFzZVBhdGggIT09IHVuZGVmaW5lZCA/IHN5c1BhdGgucmVzb2x2ZShiYXNlUGF0aCwgYWJzUGF0dGVybikgOiBhYnNQYXR0ZXJuO1xuICAgIG1hdGNoZXMucHVzaCh7XG4gICAgICB0eXBlLFxuICAgICAgcmVnZXhwOiBtaW5pbWF0Y2gubWFrZVJlKHJlc29sdmVkUGF0dGVybiwge2RvdDogdHJ1ZX0pLFxuICAgIH0pO1xuICAgIC8vIEZpeCBiYWQgd2lsZHN0YXIgY29udmVyc2lvbiB0byBSZWdFeHBcbiAgICBpZiAoYWJzUGF0dGVybi5zdGFydHNXaXRoKFwiKiovXCIpKSB7XG4gICAgICBjb25zdCBwYXR0ZXJuVGFpbDogc3RyaW5nID0gYWJzUGF0dGVybi5zdWJzdHIoXCIqKi9cIi5sZW5ndGgpO1xuICAgICAgY29uc3QgcmVzb2x2ZWRQYXR0ZXJuOiBzdHJpbmcgPSBiYXNlUGF0aCAhPT0gdW5kZWZpbmVkID8gc3lzUGF0aC5yZXNvbHZlKGJhc2VQYXRoLCBwYXR0ZXJuVGFpbCkgOiBwYXR0ZXJuVGFpbDtcbiAgICAgIG1hdGNoZXMucHVzaCh7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIHJlZ2V4cDogbWluaW1hdGNoLm1ha2VSZShyZXNvbHZlZFBhdHRlcm4sIHtkb3Q6IHRydWV9KSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiBmaWx0ZXIoaW5mbzogTW9kdWxlSW5mbyk6IGJvb2xlYW4ge1xuICAgIGlmICghaXNSZWd1bGFyRmlsZShpbmZvKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBwb3NpeFBhdGg6IHN0cmluZyA9IHRvUG9zaXhQYXRoKGluZm8udXJsKTtcbiAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICAgIGlmIChtYXRjaC5yZWdleHAudGVzdChwb3NpeFBhdGgpKSB7XG4gICAgICAgIHJldHVybiBtYXRjaC50eXBlID09PSBcInBvc2l0aXZlXCI7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVndWxhckZpbGUoaW5mbzogTW9kdWxlSW5mbyk6IGJvb2xlYW4ge1xuICByZXR1cm4gcGFyc2VOb2RlU2NyaXB0VXJsKGluZm8udXJsKS5pc0ZpbGVVcmw7XG59XG5cbi8vIGZ1bmN0aW9uIGluQ3dkKGluZm86IE1vZHVsZUluZm8pOiBib29sZWFuIHtcbi8vICAgY29uc3Qgc2NyaXB0VXJsOiBQYXJzZWRTY3JpcHRVcmwgPSBwYXJzZU5vZGVTY3JpcHRVcmwoaW5mby51cmwpO1xuLy8gICBpZiAoIXNjcmlwdFVybC5pc0ZpbGVVcmwpIHtcbi8vICAgICByZXR1cm4gZmFsc2U7XG4vLyAgIH1cbi8vICAgY29uc3QgY3dkRnVyaTogc3RyaW5nID0gZnJvbVN5c1BhdGgoc3lzUGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCkpKS5ocmVmO1xuLy8gICByZXR1cm4gaXNEZXNjZW5kYW50T2Yoc2NyaXB0VXJsLnVybCwgY3dkRnVyaSk7XG4vLyB9XG5cbi8vIGZ1bmN0aW9uIGlzRGVzY2VuZGFudE9mKGN1clVybDogc3RyaW5nLCBhbmNlc3RvclVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4vLyAgIGNvbnN0IGN1cjogUmVhZG9ubHlBcnJheTxzdHJpbmc+ID0gbmV3IHVybC5VUkwoY3VyVXJsKS5wYXRobmFtZS5zcGxpdChcIi9cIik7XG4vLyAgIGNvbnN0IGFuY2VzdG9yOiBSZWFkb25seUFycmF5PHN0cmluZz4gPSBuZXcgdXJsLlVSTChhbmNlc3RvclVybCkucGF0aG5hbWUuc3BsaXQoXCIvXCIpO1xuLy8gICBmb3IgKGNvbnN0IFtpLCBzZWdtZW50XSBvZiBhbmNlc3Rvci5lbnRyaWVzKCkpIHtcbi8vICAgICBpZiAoY3VyW2ldICE9PSBzZWdtZW50KSB7XG4vLyAgICAgICByZXR1cm4gZmFsc2U7XG4vLyAgICAgfVxuLy8gICB9XG4vLyAgIHJldHVybiB0cnVlO1xuLy8gfVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
|