UNPKG

turbo-gulp

Version:

Gulp tasks to boost high-quality projects.

24 lines (22 loc) 4.24 kB
import { posix as posixPath } from "path"; import { writeJsonFile } from "../utils/project"; import { resolveTsLocations } from "./_typescript"; export function getTsconfigJsonTask(options) { const resolved = resolveTsLocations(options); let typeRoots = []; if (resolved.typeRoots !== undefined) { typeRoots = resolved.typeRoots.map((abs) => posixPath.relative(resolved.tsconfigJsonDir, abs)); } const tscOptions = Object.assign({}, options.tscOptions, { rootDir: posixPath.relative(resolved.tsconfigJsonDir, resolved.rootDir), outDir: posixPath.relative(resolved.tsconfigJsonDir, resolved.outDir), typeRoots }); const tsconfigData = { compilerOptions: tscOptions, include: resolved.relInclude, exclude: resolved.relExclude, }; const task = async function () { return writeJsonFile(resolved.tsconfigJson, tsconfigData); }; task.displayName = "_tsconfig.json"; return task; } //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvdGFyZ2V0LXRhc2tzL3RzY29uZmlnLWpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBdUIsa0JBQWtCLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTFGLE1BQU0sOEJBQThCLE9BQXlCO0lBQzNELE1BQU0sUUFBUSxHQUF3QixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRSxJQUFJLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBQ25DLElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7UUFDcEMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUNoQyxDQUFDLEdBQWlCLEVBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQ3ZGLENBQUM7S0FDSDtJQUNELE1BQU0sVUFBVSxxQkFDWCxPQUFPLENBQUMsVUFBVSxJQUNyQixPQUFPLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDdkUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQ3JFLFNBQVMsR0FDVixDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQVE7UUFDeEIsZUFBZSxFQUFFLFVBQVU7UUFDM0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVO1FBQzVCLE9BQU8sRUFBRSxRQUFRLENBQUMsVUFBVTtLQUM3QixDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQWlCLEtBQUs7UUFDOUIsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUM7SUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDO0lBQ3BDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsImZpbGUiOiJ0YXJnZXQtdGFza3MvdHNjb25maWctanNvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBvc2l4IGFzIHBvc2l4UGF0aCB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDb21waWxlck9wdGlvbnNKc29uIH0gZnJvbSBcIi4uL29wdGlvbnMvdHNjXCI7XG5pbXBvcnQgeyBBYnNQb3NpeFBhdGgsIFJlbFBvc2l4UGF0aCB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgVGFza0Z1bmN0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL2d1bHAtdGFzay1mdW5jdGlvblwiO1xuaW1wb3J0IHsgd3JpdGVKc29uRmlsZSB9IGZyb20gXCIuLi91dGlscy9wcm9qZWN0XCI7XG5pbXBvcnQgeyBSZXNvbHZlZFRzTG9jYXRpb25zLCByZXNvbHZlVHNMb2NhdGlvbnMsIFR5cGVzY3JpcHRDb25maWcgfSBmcm9tIFwiLi9fdHlwZXNjcmlwdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHNjb25maWdKc29uVGFzayhvcHRpb25zOiBUeXBlc2NyaXB0Q29uZmlnKTogVGFza0Z1bmN0aW9uIHtcbiAgY29uc3QgcmVzb2x2ZWQ6IFJlc29sdmVkVHNMb2NhdGlvbnMgPSByZXNvbHZlVHNMb2NhdGlvbnMob3B0aW9ucyk7XG4gIGxldCB0eXBlUm9vdHM6IFJlbFBvc2l4UGF0aFtdID0gW107XG4gIGlmIChyZXNvbHZlZC50eXBlUm9vdHMgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cGVSb290cyA9IHJlc29sdmVkLnR5cGVSb290cy5tYXAoXG4gICAgICAoYWJzOiBBYnNQb3NpeFBhdGgpOiBSZWxQb3NpeFBhdGggPT4gcG9zaXhQYXRoLnJlbGF0aXZlKHJlc29sdmVkLnRzY29uZmlnSnNvbkRpciwgYWJzKSxcbiAgICApO1xuICB9XG4gIGNvbnN0IHRzY09wdGlvbnM6IENvbXBpbGVyT3B0aW9uc0pzb24gPSB7XG4gICAgLi4ub3B0aW9ucy50c2NPcHRpb25zLFxuICAgIHJvb3REaXI6IHBvc2l4UGF0aC5yZWxhdGl2ZShyZXNvbHZlZC50c2NvbmZpZ0pzb25EaXIsIHJlc29sdmVkLnJvb3REaXIpLFxuICAgIG91dERpcjogcG9zaXhQYXRoLnJlbGF0aXZlKHJlc29sdmVkLnRzY29uZmlnSnNvbkRpciwgcmVzb2x2ZWQub3V0RGlyKSxcbiAgICB0eXBlUm9vdHMsXG4gIH07XG4gIGNvbnN0IHRzY29uZmlnRGF0YTogYW55ID0ge1xuICAgIGNvbXBpbGVyT3B0aW9uczogdHNjT3B0aW9ucyxcbiAgICBpbmNsdWRlOiByZXNvbHZlZC5yZWxJbmNsdWRlLFxuICAgIGV4Y2x1ZGU6IHJlc29sdmVkLnJlbEV4Y2x1ZGUsXG4gIH07XG5cbiAgY29uc3QgdGFzazogVGFza0Z1bmN0aW9uID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB3cml0ZUpzb25GaWxlKHJlc29sdmVkLnRzY29uZmlnSnNvbiwgdHNjb25maWdEYXRhKTtcbiAgfTtcblxuICB0YXNrLmRpc3BsYXlOYW1lID0gXCJfdHNjb25maWcuanNvblwiO1xuICByZXR1cm4gdGFzaztcbn1cbiJdLCJzb3VyY2VSb290IjoiLi4ifQ==