UNPKG

@nestjs/graphql

Version:

Nest - modern, fast, powerful node.js web framework (@graphql)

26 lines (25 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.globPaths = globPaths; const path_1 = require("path"); const tinyglobby_1 = require("tinyglobby"); async function globPaths(patterns, options = {}) { const patternsArray = Array.isArray(patterns) ? patterns : [patterns]; const negativePatterns = patternsArray.filter(isNegativePattern); const positivePatterns = patternsArray.filter((pattern) => !isNegativePattern(pattern)); const globOptions = { ...options, expandDirectories: false, }; const matches = await Promise.all(positivePatterns.map((pattern) => (0, tinyglobby_1.glob)([pattern, ...negativePatterns], { ...globOptions, absolute: isAbsoluteGlob(pattern), }))); return [...new Set(matches.flat())]; } function isNegativePattern(pattern) { return pattern[0] === '!' && pattern[1] !== '('; } function isAbsoluteGlob(pattern) { return (0, path_1.isAbsolute)(pattern) || path_1.win32.isAbsolute(pattern); }