You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

nx

Package Overview
Dependencies
Maintainers
8
Versions
2476
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nx - npm Package Compare versions

Comparing version
22.6.0-pr.34866.93e8887
to
22.6.0-rc.0
+3
src/migrations/upd...laude-settings-local-to-git-ignore.d.ts
import { Tree } from '../../generators/tree';
export default function addClaudeSettingsLocalToGitIgnore(tree: Tree): Promise<void>;
//# sourceMappingURL=add-claude-settings-local-to-git-ignore.d.ts.map
{"version":3,"file":"add-claude-settings-local-to-git-ignore.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/migrations/update-22-6-0/add-claude-settings-local-to-git-ignore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,wBAA8B,iCAAiC,CAAC,IAAI,EAAE,IAAI,iBAWzE"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = addClaudeSettingsLocalToGitIgnore;
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
const ignore_1 = require("../../utils/ignore");
async function addClaudeSettingsLocalToGitIgnore(tree) {
if (!tree.exists('.gitignore')) {
return;
}
// Lerna users that don't use nx.json may not expect .claude directory changes
if (tree.exists('lerna.json') && !tree.exists('nx.json')) {
return;
}
(0, ignore_1.addEntryToGitIgnore)(tree, '.gitignore', '.claude/settings.local.json');
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
}
+6
-0

@@ -152,2 +152,8 @@ {

},
"22-6-0-add-claude-settings-local-to-git-ignore": {
"cli": "nx",
"version": "22.6.0-rc.0",
"description": "Adds .claude/settings.local.json to .gitignore",
"implementation": "./src/migrations/update-22-6-0/add-claude-settings-local-to-git-ignore"
},
"22-6-0-enable-analytics-prompt": {

@@ -154,0 +160,0 @@ "cli": "nx",

+11
-11
{
"name": "nx",
"version": "22.6.0-pr.34866.93e8887",
"version": "22.6.0-rc.0",
"private": false,

@@ -88,12 +88,12 @@ "description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",

"optionalDependencies": {
"@nx/nx-darwin-arm64": "22.6.0-pr.34866.93e8887",
"@nx/nx-darwin-x64": "22.6.0-pr.34866.93e8887",
"@nx/nx-freebsd-x64": "22.6.0-pr.34866.93e8887",
"@nx/nx-linux-arm-gnueabihf": "22.6.0-pr.34866.93e8887",
"@nx/nx-linux-arm64-gnu": "22.6.0-pr.34866.93e8887",
"@nx/nx-linux-arm64-musl": "22.6.0-pr.34866.93e8887",
"@nx/nx-linux-x64-gnu": "22.6.0-pr.34866.93e8887",
"@nx/nx-linux-x64-musl": "22.6.0-pr.34866.93e8887",
"@nx/nx-win32-arm64-msvc": "22.6.0-pr.34866.93e8887",
"@nx/nx-win32-x64-msvc": "22.6.0-pr.34866.93e8887"
"@nx/nx-darwin-arm64": "22.6.0-rc.0",
"@nx/nx-darwin-x64": "22.6.0-rc.0",
"@nx/nx-freebsd-x64": "22.6.0-rc.0",
"@nx/nx-linux-arm-gnueabihf": "22.6.0-rc.0",
"@nx/nx-linux-arm64-gnu": "22.6.0-rc.0",
"@nx/nx-linux-arm64-musl": "22.6.0-rc.0",
"@nx/nx-linux-x64-gnu": "22.6.0-rc.0",
"@nx/nx-linux-x64-musl": "22.6.0-rc.0",
"@nx/nx-win32-arm64-msvc": "22.6.0-rc.0",
"@nx/nx-win32-x64-msvc": "22.6.0-rc.0"
},

@@ -100,0 +100,0 @@ "nx-migrations": {

@@ -1,1 +0,1 @@

{"version":3,"file":"set-up-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/ai/set-up-ai-agents/set-up-ai-agents.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAuB5B,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC,CAAC;AAmCF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,4BAA4B,EACrC,KAAK,UAAQ,GACZ,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAmC5D;AAaD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAoP7C;AAuRD,eAAe,sBAAsB,CAAC"}
{"version":3,"file":"set-up-ai-agents.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/ai/set-up-ai-agents/set-up-ai-agents.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS7C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAuB5B,OAAO,EACL,sCAAsC,EACtC,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACjC,CAAC;AAmCF,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,4BAA4B,EACrC,KAAK,UAAQ,GACZ,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAmC5D;AAaD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC,CA0P7C;AAuRD,eAAe,sBAAsB,CAAC"}

@@ -207,2 +207,3 @@ "use strict";

(0, ignore_1.addEntryToGitIgnore)(tree, (0, path_1.join)(options.directory, '.gitignore'), '.claude/worktrees');
(0, ignore_1.addEntryToGitIgnore)(tree, (0, path_1.join)(options.directory, '.gitignore'), '.claude/settings.local.json');
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);

@@ -209,0 +210,0 @@ // we use the check variable to determine if we should actually make changes or just report what would be changed

@@ -1,1 +0,1 @@

{"version":3,"file":"running-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-commands/running-tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAGL,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAO5E,OAAO,EAEL,4BAA4B,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM;IAqBV,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAM3B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAYpB,GAAG;YAiGH,2BAA2B;CAkC1C;AAED,qBAAa,oBAAqB,YAAW,WAAW;IAYpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACP,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM;IAejC,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAY/D,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAId,GAAG;YAwCH,aAAa;CAsD5B;AAuKD,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,4BAA4B,EACxC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
{"version":3,"file":"running-tasks.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/run-commands/running-tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,YAAY,EAAE,MAAM,eAAe,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAGL,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAO5E,OAAO,EAEL,4BAA4B,EAE7B,MAAM,qBAAqB,CAAC;AAE7B,qBAAa,oBAAqB,YAAW,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,eAAe,CAA8C;IACrE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM;IAqBV,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAQrE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAM3B,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAYpB,GAAG;YAiGH,2BAA2B;CAkC1C;AAED,qBAAa,oBAAqB,YAAW,WAAW;IAYpD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,aAAa,CAChB;IACL,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,eAAe,CAA+C;gBAGpE,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,eAAe,EACP,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM;IAejC,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAY/D,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhE,QAAQ,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI;IAI7C,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO;YAId,GAAG;YAwCH,aAAa;CAsD5B;AAyKD,wBAAsB,kCAAkC,CACtD,UAAU,EAAE,4BAA4B,EACxC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}

@@ -353,2 +353,4 @@ "use strict";

this.kill('SIGTERM');
// we exit here because we don't need to write anything to cache.
process.exit((0, exit_codes_1.signalToCode)('SIGINT'));
});

@@ -488,2 +490,4 @@ process.on('SIGTERM', () => {

runningTask.kill('SIGTERM');
// we exit here because we don't need to write anything to cache.
process.exit((0, exit_codes_1.signalToCode)('SIGINT'));
});

@@ -490,0 +494,0 @@ process.on('SIGTERM', () => {

@@ -1,1 +0,1 @@

{"version":3,"file":"hash-task.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/hash-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAc,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAW,WAAW,EAAE,MAAM,WAAW,CAAC;AAKjD,OAAO,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;AAItD,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CASnD;AAED,wBAAsB,6CAA6C,CACjE,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,iBAuDjC;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,iBA6ChC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,mBAAmB,CAAC,EAAE,IAAI,EAAE,iBAwF7B"}
{"version":3,"file":"hash-task.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/hash-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAc,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAW,WAAW,EAAE,MAAM,WAAW,CAAC;AAKjD,OAAO,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;AAItD,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CASnD;AAED,wBAAsB,6CAA6C,CACjE,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,iBAsDjC;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,iBA4ChC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,mBAAmB,CAAC,EAAE,IAAI,EAAE,iBAuF7B"}

@@ -44,3 +44,2 @@ "use strict";

const ioService = (0, task_io_service_1.getTaskIOService)();
const hasInputSubscribers = ioService.hasTaskInputSubscribers();
for (let i = 0; i < tasksToHash.length; i++) {

@@ -50,3 +49,3 @@ tasksToHash[i].hash = hashes[i].value;

// Notify TaskIOService of hash inputs
if (hasInputSubscribers && hashes[i].inputs) {
if (hashes[i].inputs) {
ioService.notifyTaskInputs(tasksToHash[i].id, hashes[i].inputs);

@@ -84,5 +83,4 @@ }

// Notify TaskIOService of hash inputs
const ioService = (0, task_io_service_1.getTaskIOService)();
if (ioService.hasTaskInputSubscribers() && inputs) {
ioService.notifyTaskInputs(task.id, inputs);
if (inputs) {
(0, task_io_service_1.getTaskIOService)().notifyTaskInputs(task.id, inputs);
}

@@ -121,3 +119,2 @@ if (taskDetails?.recordTaskDetails) {

const ioService = (0, task_io_service_1.getTaskIOService)();
const hasInputSubscribers = ioService.hasTaskInputSubscribers();
const customHasherPromises = tasksWithCustomHashers.map(async (task) => {

@@ -137,3 +134,3 @@ const customHasher = (0, utils_1.getCustomHasher)(task, projectGraph);

// Notify TaskIOService of hash inputs
if (hasInputSubscribers && inputs) {
if (inputs) {
ioService.notifyTaskInputs(task.id, inputs);

@@ -152,3 +149,3 @@ }

// Notify TaskIOService of hash inputs
if (hasInputSubscribers && hashes[i].inputs) {
if (hashes[i].inputs) {
ioService.notifyTaskInputs(tasksWithoutCustomHashers[i].id, hashes[i].inputs);

@@ -155,0 +152,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"native-task-hasher-impl.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/native-task-hasher-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,IAAI,kBAAkB,EAClC,yBAAyB,EACzB,UAAU,EAEX,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,oBAAqB,YAAW,cAAc;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACpD,oBAAoB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;gBAGjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE;QAAE,uBAAuB,EAAE,OAAO,CAAA;KAAE;IAkCzC,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC;IAajB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,EAAE,CAAC;CAc1B"}
{"version":3,"file":"native-task-hasher-impl.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/hasher/native-task-hasher-impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,IAAI,kBAAkB,EAClC,yBAAyB,EACzB,UAAU,EAEX,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5D,qBAAa,oBAAqB,YAAW,cAAc;IACzD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACpD,oBAAoB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,iBAAiB,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;gBAGjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE;QAAE,uBAAuB,EAAE,OAAO,CAAA;KAAE;IAkCzC,QAAQ,CACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,CAAC;IAOjB,SAAS,CACb,KAAK,EAAE,IAAI,EAAE,EACb,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,EAAE,CAAC;CAQ1B"}

@@ -7,3 +7,2 @@ "use strict";

const typescript_1 = require("../plugins/js/utils/typescript");
const task_io_service_1 = require("../tasks-runner/task-io-service");
const fileutils_1 = require("../utils/fileutils");

@@ -30,4 +29,3 @@ class NativeTaskHasherImpl {

const plans = this.planner.getPlansReference([task.id], taskGraph);
const collectInputs = (0, task_io_service_1.getTaskIOService)().hasTaskInputSubscribers();
const hashes = this.hasher.hashPlans(plans, env, cwd ?? process.cwd(), collectInputs);
const hashes = this.hasher.hashPlans(plans, env, cwd ?? process.cwd());
return hashes[task.id];

@@ -37,4 +35,3 @@ }

const plans = this.planner.getPlansReference(tasks.map((t) => t.id), taskGraph);
const collectInputs = (0, task_io_service_1.getTaskIOService)().hasTaskInputSubscribers();
const hashes = this.hasher.hashPlans(plans, env, cwd ?? process.cwd(), collectInputs);
const hashes = this.hasher.hashPlans(plans, env, cwd ?? process.cwd());
return tasks.map((t) => hashes[t.id]);

@@ -41,0 +38,0 @@ }

import { Tree } from '../../generators/tree';
export default function addClaudeWorktreesToGitIgnore(tree: Tree): void;
export default function addClaudeWorktreesToGitIgnore(tree: Tree): Promise<void>;
//# sourceMappingURL=add-claude-worktrees-to-git-ignore.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"add-claude-worktrees-to-git-ignore.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/migrations/update-22-6-0/add-claude-worktrees-to-git-ignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,IAAI,EAAE,IAAI,QAS/D"}
{"version":3,"file":"add-claude-worktrees-to-git-ignore.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/migrations/update-22-6-0/add-claude-worktrees-to-git-ignore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,wBAA8B,6BAA6B,CAAC,IAAI,EAAE,IAAI,iBAWrE"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = addClaudeWorktreesToGitIgnore;
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
const ignore_1 = require("../../utils/ignore");
function addClaudeWorktreesToGitIgnore(tree) {
async function addClaudeWorktreesToGitIgnore(tree) {
if (!tree.exists('.gitignore')) {

@@ -14,2 +15,3 @@ return;

(0, ignore_1.addEntryToGitIgnore)(tree, '.gitignore', '.claude/worktrees');
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
}
import { Tree } from '../../generators/tree';
export default function addPolygraphToGitIgnore(tree: Tree): void;
export default function addPolygraphToGitIgnore(tree: Tree): Promise<void>;
//# sourceMappingURL=add-polygraph-to-git-ignore.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"add-polygraph-to-git-ignore.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,IAAI,EAAE,IAAI,QASzD"}
{"version":3,"file":"add-polygraph-to-git-ignore.d.ts","sourceRoot":"","sources":["../../../../../../packages/nx/src/migrations/update-22-7-0/add-polygraph-to-git-ignore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,wBAA8B,uBAAuB,CAAC,IAAI,EAAE,IAAI,iBAW/D"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = addPolygraphToGitIgnore;
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
const ignore_1 = require("../../utils/ignore");
function addPolygraphToGitIgnore(tree) {
async function addPolygraphToGitIgnore(tree) {
if (!tree.exists('.gitignore')) {

@@ -14,2 +15,3 @@ return;

(0, ignore_1.addEntryToGitIgnore)(tree, '.gitignore', '.nx/polygraph');
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
}

@@ -171,3 +171,3 @@ /* auto-generated by NAPI-RS */

constructor(workspaceRoot: string, projectGraph: ExternalObject<ProjectGraph>, projectFileMap: ExternalObject<ProjectFiles>, allWorkspaceFiles: ExternalObject<Array<FileData>>, tsConfig: Buffer, tsConfigPaths: Record<string, Array<string>>, rootTsconfigPath?: string | undefined | null, options?: HasherOptions | undefined | null)
hashPlans(hashPlans: ExternalObject<Record<string, Array<HashInstruction>>>, jsEnv: Record<string, string>, cwd: string, collectTaskInputs?: boolean | undefined | null): NapiDashMap<string, HashDetails>
hashPlans(hashPlans: ExternalObject<Record<string, Array<HashInstruction>>>, jsEnv: Record<string, string>, cwd: string): NapiDashMap<string, HashDetails>
}

@@ -174,0 +174,0 @@

@@ -1,1 +0,1 @@

{"version":3,"file":"update-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/nx-cloud/update-manager.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAI5E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAwBrE,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,GAAG,EAAE,MAAM;CAGxB;AACD,qBAAa,6BAA8B,SAAQ,KAAK;;CAIvD;AAED,MAAM,WAAW,aAAa;IAC5B,2BAA2B,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,kBAAkB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACxD,cAAc,EAAE,MAAM,aAAa,CAAC;CACrC;AACD,wBAAsB,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA2FpE;AAED,wBAAgB,+BAA+B,WAgB9C"}
{"version":3,"file":"update-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/nx-cloud/update-manager.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAI5E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAwBrE,qBAAa,8BAA+B,SAAQ,KAAK;gBAC3C,GAAG,EAAE,MAAM;CAGxB;AACD,qBAAa,6BAA8B,SAAQ,KAAK;;CAIvD;AAED,MAAM,WAAW,aAAa;IAC5B,2BAA2B,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,kBAAkB,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACxD,cAAc,EAAE,MAAM,aAAa,CAAC;CACrC;AACD,wBAAsB,2BAA2B,CAAC,OAAO,CAAC,EAAE;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA2FpE;AAED,wBAAgB,+BAA+B,WA4B9C"}

@@ -9,2 +9,3 @@ "use strict";

const path_1 = require("path");
const os_1 = require("os");
const axios_1 = require("./utilities/axios");

@@ -91,2 +92,13 @@ const debug_logger_1 = require("./debug-logger");

function getBundleInstallDefaultLocation() {
// When not in an Nx workspace (no nx.json), avoid creating a .nx folder
// in the current directory. Instead, use a temp directory unique to the
// NX_CLOUD_API URL so different cloud instances don't conflict.
if (!(0, fs_1.existsSync)((0, path_1.join)(workspace_root_1.workspaceRoot, 'nx.json'))) {
const apiUrl = process.env.NX_CLOUD_API || 'https://cloud.nx.app';
const apiHash = (0, crypto_1.createHash)('sha256')
.update(apiUrl)
.digest('hex')
.slice(0, 16);
return (0, path_1.join)((0, os_1.tmpdir)(), 'nx-cloud-client', apiHash);
}
const legacyPath = (0, path_1.join)(workspace_root_1.workspaceRoot, 'node_modules', '.cache', 'nx', 'cloud');

@@ -93,0 +105,0 @@ // this legacy path is used when the nx-cloud package is installed.

@@ -0,1 +1,3 @@

import { ProjectGraph } from '../config/project-graph';
import { TaskGraph } from '../config/task-graph';
/**

@@ -34,11 +36,13 @@ * Maps taskId -> PID. Note that this only Returns

* Output files are reported when tasks are stored to cache.
*
* Data is only stored when subscribers are registered. Without subscribers,
* notifications are no-ops to avoid unbounded memory growth in long-lived
* processes (e.g. the Nx daemon).
*/
declare class TaskIOService {
protected taskToPids: Map<string, number>;
protected taskToInputs: Map<string, TaskInputInfo>;
protected taskToOutputs: Map<string, string[]>;
private pidCallbacks;
private taskInputCallbacks;
private taskOutputsCallbacks;
protected projectGraph: ProjectGraph | null;
protected taskGraph: TaskGraph | null;
constructor(projectGraph?: ProjectGraph, taskGraph?: TaskGraph);
/**

@@ -50,7 +54,2 @@ * Subscribe to task PID updates.

/**
* Returns true if any callbacks are registered for task input notifications.
* Used to avoid expensive input collection in the hasher when nobody is listening.
*/
hasTaskInputSubscribers(): boolean;
/**
* Subscribe to hash inputs as they are computed.

@@ -89,4 +88,5 @@ * Called when a task's hash inputs become available.

* Get or create the singleton TaskIOService instance.
* Optionally provide projectGraph and taskGraph to initialize with context.
*/
export declare function getTaskIOService(): TaskIOService;
export declare function getTaskIOService(projectGraph?: ProjectGraph, taskGraph?: TaskGraph): TaskIOService;
/**

@@ -93,0 +93,0 @@ * Register a task process start with both IO and metrics services.

@@ -1,1 +0,1 @@

{"version":3,"file":"task-io-service.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-io-service.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEtE;;;;;;;;;GASG;AACH,cAAM,aAAa;IAEjB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,oBAAoB,CAA6B;IAEzD;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIpD;;;OAGG;IACH,uBAAuB,IAAI,OAAO;IAIlC;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIxD;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAI3D;;;OAGG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,GACA,IAAI;IAeP;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAe1D;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAS7C;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAG1E"}
{"version":3,"file":"task-io-service.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-io-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEtE;;;;;GAKG;AACH,cAAM,aAAa;IAEjB,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IACtD,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAa;IAC/D,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAa;IAG3D,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,oBAAoB,CAA6B;IAGzD,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAQ;IACnD,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAEjC,YAAY,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,SAAS;IAS9D;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAYpD;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IASxD;;;OAGG;IACH,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAY3D;;;OAGG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,GACA,IAAI;IAgBP;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAiB1D;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAU7C;AAKD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,SAAS,CAAC,EAAE,SAAS,GACpB,aAAa,CAKf;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAG1E"}

@@ -11,9 +11,9 @@ "use strict";

* Output files are reported when tasks are stored to cache.
*
* Data is only stored when subscribers are registered. Without subscribers,
* notifications are no-ops to avoid unbounded memory growth in long-lived
* processes (e.g. the Nx daemon).
*/
class TaskIOService {
constructor() {
constructor(projectGraph, taskGraph) {
// Used to call subscribers that were late to the party
this.taskToPids = new Map();
this.taskToInputs = new Map();
this.taskToOutputs = new Map();
// Subscription state

@@ -23,2 +23,11 @@ this.pidCallbacks = [];

this.taskOutputsCallbacks = [];
// Project graph and task graph for resolving task information
this.projectGraph = null;
this.taskGraph = null;
if (projectGraph) {
this.projectGraph = projectGraph;
}
if (taskGraph) {
this.taskGraph = taskGraph;
}
}

@@ -31,11 +40,11 @@ /**

this.pidCallbacks.push(callback);
// Emit current state to new subscriber
for (const [taskId, pid] of this.taskToPids) {
callback({
taskId,
pid,
});
}
}
/**
* Returns true if any callbacks are registered for task input notifications.
* Used to avoid expensive input collection in the hasher when nobody is listening.
*/
hasTaskInputSubscribers() {
return this.taskInputCallbacks.length > 0;
}
/**
* Subscribe to hash inputs as they are computed.

@@ -46,2 +55,6 @@ * Called when a task's hash inputs become available.

this.taskInputCallbacks.push(callback);
// Emit current state to new subscriber
for (const [, taskInputInfo] of this.taskToInputs) {
callback(taskInputInfo);
}
}

@@ -54,2 +67,9 @@ /**

this.taskOutputsCallbacks.push(callback);
// Emit current state to new subscriber
for (const [task, outputs] of this.taskToOutputs) {
callback({
taskId: task,
outputs: outputs,
});
}
}

@@ -65,2 +85,3 @@ /**

};
this.taskToInputs.set(taskId, taskInputInfo);
for (const cb of this.taskInputCallbacks) {

@@ -80,2 +101,3 @@ try {

notifyTaskOutputs(taskId, outputs) {
this.taskToOutputs.set(taskId, outputs);
const update = {

@@ -99,2 +121,3 @@ taskId,

notifyPidUpdate(update) {
this.taskToPids.set(update.taskId, update.pid);
for (const cb of this.pidCallbacks) {

@@ -114,6 +137,7 @@ try {

* Get or create the singleton TaskIOService instance.
* Optionally provide projectGraph and taskGraph to initialize with context.
*/
function getTaskIOService() {
function getTaskIOService(projectGraph, taskGraph) {
if (!instance) {
instance = new TaskIOService();
instance = new TaskIOService(projectGraph, taskGraph);
}

@@ -120,0 +144,0 @@ return instance;

@@ -45,3 +45,3 @@ import { NxJsonConfiguration } from '../config/nx-json';

private discreteTaskExitHandled;
private cleanupPromise;
private cleanupDone;
constructor(hasher: TaskHasher, initiatingProject: string | undefined, initiatingTasks: Task[], projectGraph: ProjectGraph, taskGraph: TaskGraph, nxJson: NxJsonConfiguration, options: NxArgs & DefaultTasksRunnerOptions, bail: boolean, daemon: DaemonClient, outputStyle: string, taskGraphForHashing?: TaskGraph);

@@ -94,6 +94,5 @@ init(): Promise<void>;

private recordOutputsHash;
private handleContinuousTaskExit;
private registerContinuousTaskExitHandler;
private completeContinuousTask;
private cleanup;
private performCleanup;
private setupSignalHandlers;

@@ -100,0 +99,0 @@ private cleanUpUnneededContinuousTasks;

@@ -1,1 +0,1 @@

{"version":3,"file":"task-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-orchestrator.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"task-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../packages/nx/src/tasks-runner/task-orchestrator.ts"],"names":[],"mappings":"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"}

@@ -67,3 +67,3 @@ "use strict";

this.discreteTaskExitHandled = new Map();
this.cleanupPromise = null;
this.cleanupDone = false;
}

@@ -148,13 +148,9 @@ async init() {

if (this.initializingTaskIds.has(task.id)) {
// Initiating tasks must block this thread until the task exits.
// This is the only onExit callback so we can await it before
// calling res(). The one in startContinuousTask is skipped for
// initiating tasks — exitCallbacks.forEach doesn't await async
// callbacks, so a second callback would create a floating promise
// that may not resolve before run() returns.
const ownsRunningTasksService = this.runningContinuousTasks.get(task.id)?.ownsRunningTasksService ??
true;
await new Promise((res) => {
runningTask.onExit(async (code) => {
await this.handleContinuousTaskExit(code, task, groupId, ownsRunningTasksService);
runningTask.onExit((code) => {
if (!this.tuiEnabled) {
if (code > 128) {
process.exit(code);
}
}
res();

@@ -618,8 +614,3 @@ });

});
// Initiating tasks complete inline in executeNextBatchOfTasksUsingTaskSchedule
if (!this.initializingTaskIds.has(task.id)) {
runningTask.onExit(async (code) => {
await this.handleContinuousTaskExit(code, task, groupId, false);
});
}
this.registerContinuousTaskExitHandler(runningTask, task, groupId, false);
// task is already running by another process, we schedule the next tasks

@@ -650,8 +641,3 @@ // and release the threads

});
// Initiating tasks complete inline in executeNextBatchOfTasksUsingTaskSchedule
if (!this.initializingTaskIds.has(task.id)) {
childProcess.onExit(async (code) => {
await this.handleContinuousTaskExit(code, task, groupId, true);
});
}
this.registerContinuousTaskExitHandler(childProcess, task, groupId, true);
await this.scheduleNextTasksAndReleaseThreads();

@@ -842,16 +828,18 @@ return childProcess;

// endregion utils
async handleContinuousTaskExit(code, task, groupId, ownsRunningTasksService) {
// If cleanup already completed this task, nothing left to do
if (this.completedTasks[task.id] !== undefined) {
return;
}
const stoppingReason = this.runningContinuousTasks.get(task.id)?.stoppingReason;
if (stoppingReason || exit_codes_1.EXPECTED_TERMINATION_SIGNALS.has(code)) {
const reason = stoppingReason === 'fulfilled' ? 'fulfilled' : 'interrupted';
await this.completeContinuousTask(task, groupId, ownsRunningTasksService, reason);
}
else {
console.error(`Task "${task.id}" is continuous but exited with code ${code}`);
await this.completeContinuousTask(task, groupId, ownsRunningTasksService, 'crashed');
}
registerContinuousTaskExitHandler(runningTask, task, groupId, ownsRunningTasksService) {
runningTask.onExit(async (code) => {
// If cleanup already completed this task, nothing left to do
if (this.completedTasks[task.id] !== undefined) {
return;
}
const stoppingReason = this.runningContinuousTasks.get(task.id)?.stoppingReason;
if (stoppingReason || exit_codes_1.EXPECTED_TERMINATION_SIGNALS.has(code)) {
const reason = stoppingReason === 'fulfilled' ? 'fulfilled' : 'interrupted';
await this.completeContinuousTask(task, groupId, ownsRunningTasksService, reason);
}
else {
console.error(`Task "${task.id}" is continuous but exited with code ${code}`);
await this.completeContinuousTask(task, groupId, ownsRunningTasksService, 'crashed');
}
});
}

@@ -883,9 +871,6 @@ async completeContinuousTask(task, groupId, ownsRunningTasksService, reason) {

async cleanup() {
if (this.cleanupPromise) {
return this.cleanupPromise;
if (this.cleanupDone) {
return;
}
this.cleanupPromise = this.performCleanup();
return this.cleanupPromise;
}
async performCleanup() {
this.cleanupDone = true;
// Mark all running tasks for intentional stop

@@ -940,14 +925,2 @@ const reason = this.stopRequested ? 'interrupted' : 'fulfilled';

this.stopRequested = true;
if (!this.tuiEnabled) {
// Silence output immediately — pnpm (and similar wrappers) may
// exit before nx finishes cleanup, returning the shell prompt.
// Any output after that point would appear after the prompt.
const noop = (_chunk, _encoding, callback) => {
if (callback)
callback();
return true;
};
process.stdout.write = noop;
process.stderr.write = noop;
}
this.cleanup().finally(() => {

@@ -963,3 +936,2 @@ if (this.resolveStopPromise) {

process.once('SIGTERM', () => {
this.stopRequested = true;
this.cleanup().finally(() => {

@@ -972,3 +944,2 @@ if (this.resolveStopPromise) {

process.once('SIGHUP', () => {
this.stopRequested = true;
this.cleanup().finally(() => {

@@ -975,0 +946,0 @@ if (this.resolveStopPromise) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet