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