UNPKG

@code-to-json/cli

Version:
44 lines 3.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("@code-to-json/utils"); const utils_ts_1 = require("@code-to-json/utils-ts"); const debug = require("debug"); const glob = require("glob"); const path = require("path"); const util_1 = require("util"); const debugLog = debug('code-to-json:cli'); const pGlob = util_1.promisify(glob); /** * Resolve some globs into discrete files, matching a set of extensions * @param globs Globs to search * @param extensions Extensions of paths to retain * @internal */ async function globsToPaths(globs, extensions = ['.js', '.ts']) { const valueSet = new Set(); await Promise.all(globs.map((g) => pGlob(g) // get the collection of files .then((files) => { files.forEach((f) => valueSet.add(f)); // add each file to the set }) .catch((er) => { throw new utils_1.InvalidArgumentsError(`Invalid glob: ${g}\n${er}`); }))); const allPaths = [...valueSet]; // Set<string> -> string[] // If extensions are provided, only return those files that match return extensions ? allPaths.filter((f) => extensions.indexOf(path.extname(f).toLowerCase()) >= 0) : allPaths; } exports.globsToPaths = globsToPaths; /** * Create a typescript program from globs that describe entry files * @param globs Globs that specify one or more entries * @internal */ async function createProgramFromEntryGlobs(globs) { const rootNames = await globsToPaths(globs); debugLog('globs are equivalent to files', rootNames); return utils_ts_1.createProgramFromEntries(rootNames); } exports.createProgramFromEntryGlobs = createProgramFromEntryGlobs; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0NBQTREO0FBQzVELHFEQUFrRTtBQUNsRSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLDZCQUE2QjtBQUU3QiwrQkFBaUM7QUFFakMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFM0MsTUFBTSxLQUFLLEdBQUcsZ0JBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUU5Qjs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxZQUFZLENBQ2hDLEtBQWUsRUFDZixhQUF1QixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7SUFFckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNuQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUNSLENBQUMsRUFDRCxFQUFFLENBQ0YsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUE4QjtTQUNwQyxJQUFJLENBQUMsQ0FBQyxLQUFlLEVBQUUsRUFBRTtRQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkI7SUFDcEUsQ0FBQyxDQUFDO1NBQ0QsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDWixNQUFNLElBQUksNkJBQXFCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQyxDQUNMLENBQ0YsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUMxRCxpRUFBaUU7SUFDakUsT0FBTyxVQUFVO1FBQ2YsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ2YsQ0FBQztBQXZCRCxvQ0F1QkM7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLDJCQUEyQixDQUFDLEtBQWU7SUFDL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsUUFBUSxDQUFDLCtCQUErQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sbUNBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUpELGtFQUlDIn0=