turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
43 lines (41 loc) • 7.54 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhcmdldC10YXNrcy9fdHlwZXNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSx5Q0FBa0Q7QUFDbEQsK0JBQTBDO0FBSTFDLDBEQUE0QztBQXVENUMsNEJBQW1DLE9BQXlCO0lBQzFELE1BQU0sWUFBWSxHQUFpQixPQUFPLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QixZQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQWlCLFlBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFdEUsTUFBTSxPQUFPLEdBQWlCLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFFN0MsSUFBSSxTQUFTLEdBQStCLFNBQVMsQ0FBQztJQUN0RCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBaUIsWUFBUyxDQUFDLElBQUksQ0FBQyxZQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEgsU0FBUyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBaUIsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7SUFDaEMsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztJQUVoQyxHQUFHLENBQUMsQ0FBQyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBZSxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxJQUFJLHFCQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxDQUFDO0FBQ3pHLENBQUM7QUE3QkQsZ0RBNkJDIiwiZmlsZSI6InRhcmdldC10YXNrcy9fdHlwZXNjcmlwdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNaW5pbWF0Y2gsIE1pbmltYXRjaCB9IGZyb20gXCJtaW5pbWF0Y2hcIjtcbmltcG9ydCB7IHBvc2l4IGFzIHBvc2l4UGF0aCB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDb21waWxlck9wdGlvbnNKc29uIH0gZnJvbSBcIi4uL29wdGlvbnMvdHNjXCI7XG5pbXBvcnQgeyBPdXRNb2R1bGVzIH0gZnJvbSBcIi4uL29wdGlvbnMvdHlwZXNjcmlwdFwiO1xuaW1wb3J0IHsgQWJzUG9zaXhQYXRoLCBSZWxQb3NpeFBhdGggfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCAqIGFzIG1hdGNoZXIgZnJvbSBcIi4uL3V0aWxzL21hdGNoZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUeXBlc2NyaXB0Q29uZmlnIHtcbiAgcmVhZG9ubHkgdHNjT3B0aW9uczogQ29tcGlsZXJPcHRpb25zSnNvbjtcbiAgcmVhZG9ubHkgdHNjb25maWdKc29uOiBBYnNQb3NpeFBhdGggfCBudWxsO1xuICByZWFkb25seSBjdXN0b21UeXBpbmdzRGlyOiBBYnNQb3NpeFBhdGggfCBudWxsO1xuICByZWFkb25seSBwYWNrYWdlSnNvbjogQWJzUG9zaXhQYXRoO1xuICByZWFkb25seSBidWlsZERpcjogQWJzUG9zaXhQYXRoO1xuICByZWFkb25seSBzcmNEaXI6IEFic1Bvc2l4UGF0aDtcbiAgcmVhZG9ubHkgc2NyaXB0czogSXRlcmFibGU8c3RyaW5nPjtcbiAgcmVhZG9ubHkgb3V0TW9kdWxlczogT3V0TW9kdWxlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZFRzTG9jYXRpb25zIHtcbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggZm9yIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgYHRzY29uZmlnLmpzb25gIGZpbGUuXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ0pzb25EaXI6IEFic1Bvc2l4UGF0aDtcblxuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCBmb3IgdGhlIGB0c2NvbmZpZy5qc29uYCBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdHNjb25maWdKc29uOiBBYnNQb3NpeFBhdGg7XG5cbiAgLyoqXG4gICAqIFJvb3QgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIHNvdXJjZXMsIHJlbGF0aXZlIHRvIGB0c2NvbmZpZ0pzb25EaXJgLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdERpcjogUmVsUG9zaXhQYXRoO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgdHlwZVJvb3RzIGFyZSBub3QganVzdCBgQHR5cGVzYCwgYW4gYXJyYXkgb2YgdHlwZSByb290IGRpcmVjdG9yaWVzLCByZWxhdGl2ZSB0byBgdHNjb25maWdKc29uRGlyYC5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVSb290czogUmVsUG9zaXhQYXRoW10gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIERpcmVjdG9yeSBjb250YWluaW5nIHRoZSBidWlsZCwgcmVsYXRpdmUgdG8gYHRzY29uZmlnSnNvbkRpcmBcbiAgICovXG4gIHJlYWRvbmx5IG91dERpcjogUmVsUG9zaXhQYXRoO1xuXG4gIC8qKlxuICAgKiBQYXR0ZXJucyBtYXRjaGluZyBzY3JpcHRzIHRvIGluY2x1ZGUsIHJlbGF0aXZlIHRvIGByb290RGlyYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbEluY2x1ZGU6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQYXR0ZXJucyBtYXRjaGluZyBzY3JpcHRzIHRvIGV4Y2x1ZGUsIHJlbGF0aXZlIHRvIGByb290RGlyYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlbEV4Y2x1ZGU6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQYXR0ZXJucyBtYXRjaGluZyB0aGUgc2NyaXB0cywgcmVsYXRpdmUgdG8gYHJvb3REaXJgLlxuICAgKi9cbiAgcmVhZG9ubHkgYWJzU2NyaXB0czogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlVHNMb2NhdGlvbnMob3B0aW9uczogVHlwZXNjcmlwdENvbmZpZyk6IFJlc29sdmVkVHNMb2NhdGlvbnMge1xuICBjb25zdCB0c2NvbmZpZ0pzb246IEFic1Bvc2l4UGF0aCA9IG9wdGlvbnMudHNjb25maWdKc29uICE9PSBudWxsID9cbiAgICBvcHRpb25zLnRzY29uZmlnSnNvbiA6XG4gICAgcG9zaXhQYXRoLmpvaW4ob3B0aW9ucy5zcmNEaXIsIFwidHNjb25maWcuanNvblwiKTtcbiAgY29uc3QgdHNjb25maWdKc29uRGlyOiBBYnNQb3NpeFBhdGggPSBwb3NpeFBhdGguZGlybmFtZSh0c2NvbmZpZ0pzb24pO1xuXG4gIGNvbnN0IHJvb3REaXI6IEFic1Bvc2l4UGF0aCA9IG9wdGlvbnMuc3JjRGlyO1xuXG4gIGxldCB0eXBlUm9vdHM6IEFic1Bvc2l4UGF0aFtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBpZiAob3B0aW9ucy5jdXN0b21UeXBpbmdzRGlyICE9PSBudWxsKSB7XG4gICAgY29uc3QgYXRUeXBlc0RpcjogUmVsUG9zaXhQYXRoID0gcG9zaXhQYXRoLmpvaW4ocG9zaXhQYXRoLmRpcm5hbWUob3B0aW9ucy5wYWNrYWdlSnNvbiksIFwibm9kZV9tb2R1bGVzXCIsIFwiQHR5cGVzXCIpO1xuICAgIHR5cGVSb290cyA9IFthdFR5cGVzRGlyLCBvcHRpb25zLmN1c3RvbVR5cGluZ3NEaXJdO1xuICB9XG4gIGNvbnN0IG91dERpcjogQWJzUG9zaXhQYXRoID0gb3B0aW9ucy5idWlsZERpcjtcbiAgY29uc3QgcmVsSW5jbHVkZTogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgcmVsRXhjbHVkZTogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgYWJzU2NyaXB0czogc3RyaW5nW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IHNjcmlwdCBvZiBvcHRpb25zLnNjcmlwdHMpIHtcbiAgICBjb25zdCBwYXR0ZXJuOiBJTWluaW1hdGNoID0gbWF0Y2hlci5yZWxhdGl2ZSh0c2NvbmZpZ0pzb25EaXIsIG5ldyBNaW5pbWF0Y2goc2NyaXB0KSk7XG4gICAgaWYgKHBhdHRlcm4ubmVnYXRlKSB7XG4gICAgICByZWxFeGNsdWRlLnB1c2gocGF0dGVybi5wYXR0ZXJuKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVsSW5jbHVkZS5wdXNoKHBhdHRlcm4ucGF0dGVybik7XG4gICAgfVxuICAgIGFic1NjcmlwdHMucHVzaChzY3JpcHQpO1xuICB9XG5cbiAgcmV0dXJuIHt0c2NvbmZpZ0pzb24sIHRzY29uZmlnSnNvbkRpciwgcm9vdERpciwgdHlwZVJvb3RzLCBvdXREaXIsIHJlbEluY2x1ZGUsIHJlbEV4Y2x1ZGUsIGFic1NjcmlwdHN9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIuLiJ9