mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.3 KiB
28 lines
1.3 KiB
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.handleHashTasks = handleHashTasks;
|
|
const project_graph_incremental_recomputation_1 = require("./project-graph-incremental-recomputation");
|
|
const task_hasher_1 = require("../../hasher/task-hasher");
|
|
const configuration_1 = require("../../config/configuration");
|
|
/**
|
|
* We use this not to recreated hasher for every hash operation
|
|
* TaskHasher has a cache inside, so keeping it around results in faster performance
|
|
*/
|
|
let storedProjectGraph = null;
|
|
let storedHasher = null;
|
|
async function handleHashTasks(payload) {
|
|
const { error, projectGraph, allWorkspaceFiles, fileMap, rustReferences } = await (0, project_graph_incremental_recomputation_1.getCachedSerializedProjectGraphPromise)();
|
|
if (error) {
|
|
throw error;
|
|
}
|
|
const nxJson = (0, configuration_1.readNxJson)();
|
|
if (projectGraph !== storedProjectGraph) {
|
|
storedProjectGraph = projectGraph;
|
|
storedHasher = new task_hasher_1.InProcessTaskHasher(projectGraph, nxJson, rustReferences, payload.runnerOptions);
|
|
}
|
|
const response = await storedHasher.hashTasks(payload.tasks, payload.taskGraph, payload.env, payload.cwd);
|
|
return {
|
|
response,
|
|
description: 'handleHashTasks',
|
|
};
|
|
}
|
|
|