turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
43 lines (41 loc) • 7.42 kB
JavaScript
;
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
const minimatch_1 = require("minimatch");
const path_1 = require("path");
const matcher = __importStar(require("../utils/matcher"));
function resolveTsLocations(options) {
const tsconfigJson = options.tsconfigJson !== null ?
options.tsconfigJson :
path_1.posix.join(options.srcDir, "tsconfig.json");
const tsconfigJsonDir = path_1.posix.dirname(tsconfigJson);
const rootDir = options.srcDir;
let typeRoots = undefined;
if (options.customTypingsDir !== null) {
const atTypesDir = path_1.posix.join(path_1.posix.dirname(options.packageJson), "node_modules", "@types");
typeRoots = [atTypesDir, options.customTypingsDir];
}
const outDir = options.buildDir;
const relInclude = [];
const relExclude = [];
const absScripts = [];
for (const script of options.scripts) {
const pattern = matcher.relative(tsconfigJsonDir, new minimatch_1.Minimatch(script));
if (pattern.negate) {
relExclude.push(pattern.pattern);
}
else {
relInclude.push(pattern.pattern);
}
absScripts.push(script);
}
return { tsconfigJson, tsconfigJsonDir, rootDir, typeRoots, outDir, relInclude, relExclude, absScripts };
}
exports.resolveTsLocations = resolveTsLocations;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvdGFyZ2V0LXRhc2tzL190eXBlc2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHlDQUFrRDtBQUNsRCwrQkFBMEM7QUFJMUMsMERBQTRDO0FBdUQ1Qyw0QkFBbUMsT0FBeUI7SUFDMUQsTUFBTSxZQUFZLEdBQWlCLE9BQU8sQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDaEUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RCLFlBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNsRCxNQUFNLGVBQWUsR0FBaUIsWUFBUyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUV0RSxNQUFNLE9BQU8sR0FBaUIsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUU3QyxJQUFJLFNBQVMsR0FBK0IsU0FBUyxDQUFDO0lBQ3RELElBQUksT0FBTyxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtRQUNyQyxNQUFNLFVBQVUsR0FBaUIsWUFBUyxDQUFDLElBQUksQ0FBQyxZQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEgsU0FBUyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsTUFBTSxNQUFNLEdBQWlCLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDOUMsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztJQUNoQyxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7SUFFaEMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1FBQ3BDLE1BQU0sT0FBTyxHQUFlLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUkscUJBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNsQzthQUFNO1lBQ0wsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbEM7UUFDRCxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ3pCO0lBRUQsT0FBTyxFQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUMsQ0FBQztBQUN6RyxDQUFDO0FBN0JELGdEQTZCQyIsImZpbGUiOiJ0YXJnZXQtdGFza3MvX3R5cGVzY3JpcHQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWluaW1hdGNoLCBNaW5pbWF0Y2ggfSBmcm9tIFwibWluaW1hdGNoXCI7XG5pbXBvcnQgeyBwb3NpeCBhcyBwb3NpeFBhdGggfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQ29tcGlsZXJPcHRpb25zSnNvbiB9IGZyb20gXCIuLi9vcHRpb25zL3RzY1wiO1xuaW1wb3J0IHsgT3V0TW9kdWxlcyB9IGZyb20gXCIuLi9vcHRpb25zL3R5cGVzY3JpcHRcIjtcbmltcG9ydCB7IEFic1Bvc2l4UGF0aCwgUmVsUG9zaXhQYXRoIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBtYXRjaGVyIGZyb20gXCIuLi91dGlscy9tYXRjaGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZXNjcmlwdENvbmZpZyB7XG4gIHJlYWRvbmx5IHRzY09wdGlvbnM6IENvbXBpbGVyT3B0aW9uc0pzb247XG4gIHJlYWRvbmx5IHRzY29uZmlnSnNvbjogQWJzUG9zaXhQYXRoIHwgbnVsbDtcbiAgcmVhZG9ubHkgY3VzdG9tVHlwaW5nc0RpcjogQWJzUG9zaXhQYXRoIHwgbnVsbDtcbiAgcmVhZG9ubHkgcGFja2FnZUpzb246IEFic1Bvc2l4UGF0aDtcbiAgcmVhZG9ubHkgYnVpbGREaXI6IEFic1Bvc2l4UGF0aDtcbiAgcmVhZG9ubHkgc3JjRGlyOiBBYnNQb3NpeFBhdGg7XG4gIHJlYWRvbmx5IHNjcmlwdHM6IEl0ZXJhYmxlPHN0cmluZz47XG4gIHJlYWRvbmx5IG91dE1vZHVsZXM6IE91dE1vZHVsZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWRUc0xvY2F0aW9ucyB7XG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIGZvciB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGB0c2NvbmZpZy5qc29uYCBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdKc29uRGlyOiBBYnNQb3NpeFBhdGg7XG5cbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggZm9yIHRoZSBgdHNjb25maWcuanNvbmAgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnSnNvbjogQWJzUG9zaXhQYXRoO1xuXG4gIC8qKlxuICAgKiBSb290IGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzb3VyY2VzLCByZWxhdGl2ZSB0byBgdHNjb25maWdKc29uRGlyYC5cbiAgICovXG4gIHJlYWRvbmx5IHJvb3REaXI6IFJlbFBvc2l4UGF0aDtcblxuICAvKipcbiAgICogSWYgdGhlIHR5cGVSb290cyBhcmUgbm90IGp1c3QgYEB0eXBlc2AsIGFuIGFycmF5IG9mIHR5cGUgcm9vdCBkaXJlY3RvcmllcywgcmVsYXRpdmUgdG8gYHRzY29uZmlnSnNvbkRpcmAuXG4gICAqL1xuICByZWFkb25seSB0eXBlUm9vdHM6IFJlbFBvc2l4UGF0aFtdIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBEaXJlY3RvcnkgY29udGFpbmluZyB0aGUgYnVpbGQsIHJlbGF0aXZlIHRvIGB0c2NvbmZpZ0pzb25EaXJgXG4gICAqL1xuICByZWFkb25seSBvdXREaXI6IFJlbFBvc2l4UGF0aDtcblxuICAvKipcbiAgICogUGF0dGVybnMgbWF0Y2hpbmcgc2NyaXB0cyB0byBpbmNsdWRlLCByZWxhdGl2ZSB0byBgcm9vdERpcmAuXG4gICAqL1xuICByZWFkb25seSByZWxJbmNsdWRlOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUGF0dGVybnMgbWF0Y2hpbmcgc2NyaXB0cyB0byBleGNsdWRlLCByZWxhdGl2ZSB0byBgcm9vdERpcmAuXG4gICAqL1xuICByZWFkb25seSByZWxFeGNsdWRlOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUGF0dGVybnMgbWF0Y2hpbmcgdGhlIHNjcmlwdHMsIHJlbGF0aXZlIHRvIGByb290RGlyYC5cbiAgICovXG4gIHJlYWRvbmx5IGFic1NjcmlwdHM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVRzTG9jYXRpb25zKG9wdGlvbnM6IFR5cGVzY3JpcHRDb25maWcpOiBSZXNvbHZlZFRzTG9jYXRpb25zIHtcbiAgY29uc3QgdHNjb25maWdKc29uOiBBYnNQb3NpeFBhdGggPSBvcHRpb25zLnRzY29uZmlnSnNvbiAhPT0gbnVsbCA/XG4gICAgb3B0aW9ucy50c2NvbmZpZ0pzb24gOlxuICAgIHBvc2l4UGF0aC5qb2luKG9wdGlvbnMuc3JjRGlyLCBcInRzY29uZmlnLmpzb25cIik7XG4gIGNvbnN0IHRzY29uZmlnSnNvbkRpcjogQWJzUG9zaXhQYXRoID0gcG9zaXhQYXRoLmRpcm5hbWUodHNjb25maWdKc29uKTtcblxuICBjb25zdCByb290RGlyOiBBYnNQb3NpeFBhdGggPSBvcHRpb25zLnNyY0RpcjtcblxuICBsZXQgdHlwZVJvb3RzOiBBYnNQb3NpeFBhdGhbXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgaWYgKG9wdGlvbnMuY3VzdG9tVHlwaW5nc0RpciAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGF0VHlwZXNEaXI6IFJlbFBvc2l4UGF0aCA9IHBvc2l4UGF0aC5qb2luKHBvc2l4UGF0aC5kaXJuYW1lKG9wdGlvbnMucGFja2FnZUpzb24pLCBcIm5vZGVfbW9kdWxlc1wiLCBcIkB0eXBlc1wiKTtcbiAgICB0eXBlUm9vdHMgPSBbYXRUeXBlc0Rpciwgb3B0aW9ucy5jdXN0b21UeXBpbmdzRGlyXTtcbiAgfVxuICBjb25zdCBvdXREaXI6IEFic1Bvc2l4UGF0aCA9IG9wdGlvbnMuYnVpbGREaXI7XG4gIGNvbnN0IHJlbEluY2x1ZGU6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHJlbEV4Y2x1ZGU6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGFic1NjcmlwdHM6IHN0cmluZ1tdID0gW107XG5cbiAgZm9yIChjb25zdCBzY3JpcHQgb2Ygb3B0aW9ucy5zY3JpcHRzKSB7XG4gICAgY29uc3QgcGF0dGVybjogSU1pbmltYXRjaCA9IG1hdGNoZXIucmVsYXRpdmUodHNjb25maWdKc29uRGlyLCBuZXcgTWluaW1hdGNoKHNjcmlwdCkpO1xuICAgIGlmIChwYXR0ZXJuLm5lZ2F0ZSkge1xuICAgICAgcmVsRXhjbHVkZS5wdXNoKHBhdHRlcm4ucGF0dGVybik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbEluY2x1ZGUucHVzaChwYXR0ZXJuLnBhdHRlcm4pO1xuICAgIH1cbiAgICBhYnNTY3JpcHRzLnB1c2goc2NyaXB0KTtcbiAgfVxuXG4gIHJldHVybiB7dHNjb25maWdKc29uLCB0c2NvbmZpZ0pzb25EaXIsIHJvb3REaXIsIHR5cGVSb290cywgb3V0RGlyLCByZWxJbmNsdWRlLCByZWxFeGNsdWRlLCBhYnNTY3JpcHRzfTtcbn1cbiJdLCJzb3VyY2VSb290IjoiLi4ifQ==