From bcb8702ca6d7f3253167d532c3206181df9261b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Tue, 13 Jan 2026 21:13:19 +0100 Subject: [PATCH 1/7] feat(actors): enables standby mode via actor.json Enables standby mode for Actors based on the 'usesStandbyMode' property in actor.json. If the property is set to true during Actor creation or update, standby mode is enabled with default configuration. Fixes #913 --- src/commands/actors/push.ts | 18 ++++++ test/api/commands/push.test.ts | 108 +++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) diff --git a/src/commands/actors/push.ts b/src/commands/actors/push.ts index 953f7da6..c4b17550 100644 --- a/src/commands/actors/push.ts +++ b/src/commands/actors/push.ts @@ -40,6 +40,18 @@ const DEFAULT_ACTOR_VERSION_NUMBER = '0.0'; // that changes, we have to add it. const DEFAULT_BUILD_TAG = 'latest'; +// Default standby mode configuration when usesStandbyMode is enabled in actor.json +const DEFAULT_STANDBY_OPTIONS = { + isEnabled: true, + disableStandbyFieldsOverride: false, + maxRequestsPerActorRun: 4, + desiredRequestsPerActorRun: 3, + idleTimeoutSecs: 300, + build: 'latest', + memoryMbytes: 1024, + shouldPassActorInput: false, +}; + export class ActorsPushCommand extends ApifyCommand { static override name = 'push' as const; @@ -198,6 +210,12 @@ export class ActorsPushCommand extends ApifyCommand { }, ], }; + + // Enable standby mode if configured in actor.json + if (actorConfig!.usesStandbyMode) { + newActor.actorStandby = DEFAULT_STANDBY_OPTIONS as ActorCollectionCreateOptions['actorStandby']; + } + actor = await apifyClient.actors().create(newActor); actorId = actor.id; isActorCreatedNow = true; diff --git a/test/api/commands/push.test.ts b/test/api/commands/push.test.ts index 7ea72507..1e2cd1ae 100644 --- a/test/api/commands/push.test.ts +++ b/test/api/commands/push.test.ts @@ -407,4 +407,112 @@ describe('[api] apify push', () => { }, TEST_TIMEOUT, ); + + it( + 'should enable standby mode when usesStandbyMode is true in actor.json', + async () => { + toggleCwdBetweenFullAndParentPath(); + + const standbyActorName = `${ACTOR_NAME}-standby`; + + await mkdir(joinCwdPath(standbyActorName), { recursive: true }); + forceNewCwd(standbyActorName); + + // Create a minimal actor with usesStandbyMode enabled + const actorJson = { + actorSpecification: 1, + name: standbyActorName, + version: '0.0', + buildTag: 'latest', + usesStandbyMode: true, + }; + + await writeFile(joinCwdPath('.actor/actor.json'), JSON.stringify(actorJson, null, '\t')); + await writeFile(joinCwdPath('Dockerfile'), 'FROM apify/actor-node:18\nCOPY . ./\nCMD ["node", "main.js"]'); + await writeFile(joinCwdPath('main.js'), 'console.log("Hello");'); + + await testRunCommand(ActorsPushCommand, { flags_noPrompt: true, flags_force: true }); + + const userInfo = await getLocalUserInfo(); + const actorId = `${userInfo.username}/${standbyActorName}`; + actorsForCleanup.add(actorId); + const createdActorClient = testUserClient.actor(actorId); + const createdActor = await createdActorClient.get(); + + // Verify all standby options are set to default values + expect(createdActor?.actorStandby).to.be.eql({ + isEnabled: true, + disableStandbyFieldsOverride: false, + maxRequestsPerActorRun: 4, + desiredRequestsPerActorRun: 3, + idleTimeoutSecs: 300, + build: 'latest', + memoryMbytes: 1024, + shouldPassActorInput: false, + }); + + if (createdActor) await createdActorClient.delete(); + }, + TEST_TIMEOUT, + ); + + it( + 'should enable standby mode on existing actor when usesStandbyMode is true in actor.json', + async () => { + toggleCwdBetweenFullAndParentPath(); + + // Create an actor without standby mode first + const testActorWithoutStandby = { + ...TEST_ACTOR, + name: `${ACTOR_NAME}-standby-update`, + }; + const testActor = await testUserClient.actors().create(testActorWithoutStandby); + actorsForCleanup.add(testActor.id); + const testActorClient = testUserClient.actor(testActor.id); + + // Verify standby is not enabled initially + const initialActor = await testActorClient.get(); + expect(initialActor?.actorStandby?.isEnabled).to.not.be.eql(true); + + await mkdir(joinCwdPath(testActorWithoutStandby.name), { recursive: true }); + forceNewCwd(testActorWithoutStandby.name); + + // Create actor.json with usesStandbyMode enabled + const actorJson = { + actorSpecification: 1, + name: testActorWithoutStandby.name, + version: '0.0', + buildTag: 'latest', + usesStandbyMode: true, + }; + + await writeFile(joinCwdPath('.actor/actor.json'), JSON.stringify(actorJson, null, '\t')); + await writeFile(joinCwdPath('Dockerfile'), 'FROM apify/actor-node:18\nCOPY . ./\nCMD ["node", "main.js"]'); + await writeFile(joinCwdPath('main.js'), 'console.log("Hello");'); + + // Push to existing actor - this should update standby mode + await testRunCommand(ActorsPushCommand, { + args_actorId: testActor.id, + flags_noPrompt: true, + flags_force: true, + }); + + const updatedActor = await testActorClient.get(); + + // Verify all standby options are set to default values + expect(updatedActor?.actorStandby).to.be.eql({ + isEnabled: true, + disableStandbyFieldsOverride: false, + maxRequestsPerActorRun: 4, + desiredRequestsPerActorRun: 3, + idleTimeoutSecs: 300, + build: 'latest', + memoryMbytes: 1024, + shouldPassActorInput: false, + }); + + if (updatedActor) await testActorClient.delete(); + }, + TEST_TIMEOUT, + ); }); From 98e9f79877bd1e88f55abea23ad1d84a94c92e74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Tue, 13 Jan 2026 21:55:27 +0100 Subject: [PATCH 2/7] chore(actors): fix tests and remove unused type --- test/api/commands/push.test.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/api/commands/push.test.ts b/test/api/commands/push.test.ts index 1e2cd1ae..2fcc9f54 100644 --- a/test/api/commands/push.test.ts +++ b/test/api/commands/push.test.ts @@ -427,9 +427,7 @@ describe('[api] apify push', () => { usesStandbyMode: true, }; - await writeFile(joinCwdPath('.actor/actor.json'), JSON.stringify(actorJson, null, '\t')); - await writeFile(joinCwdPath('Dockerfile'), 'FROM apify/actor-node:18\nCOPY . ./\nCMD ["node", "main.js"]'); - await writeFile(joinCwdPath('main.js'), 'console.log("Hello");'); + await writeFile(joinCwdPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); await testRunCommand(ActorsPushCommand, { flags_noPrompt: true, flags_force: true }); @@ -486,9 +484,7 @@ describe('[api] apify push', () => { usesStandbyMode: true, }; - await writeFile(joinCwdPath('.actor/actor.json'), JSON.stringify(actorJson, null, '\t')); - await writeFile(joinCwdPath('Dockerfile'), 'FROM apify/actor-node:18\nCOPY . ./\nCMD ["node", "main.js"]'); - await writeFile(joinCwdPath('main.js'), 'console.log("Hello");'); + await writeFile(joinCwdPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); // Push to existing actor - this should update standby mode await testRunCommand(ActorsPushCommand, { From ffbf2f9504df275846344e7208a479c7ad94ac62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Tue, 13 Jan 2026 22:05:17 +0100 Subject: [PATCH 3/7] chore(tests): fix path in tests --- test/api/commands/push.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/api/commands/push.test.ts b/test/api/commands/push.test.ts index 2fcc9f54..9c0c554e 100644 --- a/test/api/commands/push.test.ts +++ b/test/api/commands/push.test.ts @@ -427,7 +427,7 @@ describe('[api] apify push', () => { usesStandbyMode: true, }; - await writeFile(joinCwdPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); + await writeFile(joinPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); await testRunCommand(ActorsPushCommand, { flags_noPrompt: true, flags_force: true }); @@ -484,7 +484,7 @@ describe('[api] apify push', () => { usesStandbyMode: true, }; - await writeFile(joinCwdPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); + await writeFile(joinPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); // Push to existing actor - this should update standby mode await testRunCommand(ActorsPushCommand, { From dd47acbbd6a35d4c58c9f92c3a36db2ad9f34640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Thu, 15 Jan 2026 14:05:52 +0100 Subject: [PATCH 4/7] Ffx(actors): corrects standby mode behavior --- src/commands/actors/push.ts | 4 +- test/api/commands/push.test.ts | 135 +++++++++++++-------------------- 2 files changed, 53 insertions(+), 86 deletions(-) diff --git a/src/commands/actors/push.ts b/src/commands/actors/push.ts index c4b17550..73b34cf3 100644 --- a/src/commands/actors/push.ts +++ b/src/commands/actors/push.ts @@ -41,7 +41,7 @@ const DEFAULT_ACTOR_VERSION_NUMBER = '0.0'; const DEFAULT_BUILD_TAG = 'latest'; // Default standby mode configuration when usesStandbyMode is enabled in actor.json -const DEFAULT_STANDBY_OPTIONS = { +export const DEFAULT_STANDBY_OPTIONS = { isEnabled: true, disableStandbyFieldsOverride: false, maxRequestsPerActorRun: 4, @@ -213,7 +213,7 @@ export class ActorsPushCommand extends ApifyCommand { // Enable standby mode if configured in actor.json if (actorConfig!.usesStandbyMode) { - newActor.actorStandby = DEFAULT_STANDBY_OPTIONS as ActorCollectionCreateOptions['actorStandby']; + newActor.actorStandby = DEFAULT_STANDBY_OPTIONS; } actor = await apifyClient.actors().create(newActor); diff --git a/test/api/commands/push.test.ts b/test/api/commands/push.test.ts index 9c0c554e..1fca6f3a 100644 --- a/test/api/commands/push.test.ts +++ b/test/api/commands/push.test.ts @@ -362,7 +362,6 @@ describe('[api] apify push', () => { await testRunCommand(ActorsPushCommand, { args_actorId: testActor.id, flags_noPrompt: true }); testActor = (await testActorClient.get())!; - if (testActor) await testActorClient.delete(); // Title and description should be preserved from the original actor @@ -372,67 +371,20 @@ describe('[api] apify push', () => { TEST_TIMEOUT, ); - it( - 'should not push Actor when there are no files to push', - async () => { - toggleCwdBetweenFullAndParentPath(); - - await mkdir(joinCwdPath('empty-dir'), { recursive: true }); - - forceNewCwd('empty-dir'); - - await testRunCommand(ActorsPushCommand, { flags_noPrompt: true }); - - expect(lastErrorMessage()).to.include( - 'You need to call this command from a folder that has an Actor in it', - ); - }, - TEST_TIMEOUT, - ); - - it( - 'should not push when the folder does not seem to have a valid Actor', - async () => { - toggleCwdBetweenFullAndParentPath(); - - await mkdir(joinCwdPath('not-an-actor-i-promise'), { recursive: true }); - - forceNewCwd('not-an-actor-i-promise'); - - await writeFile(joinCwdPath('owo.txt'), 'Lorem ipsum'); - - await testRunCommand(ActorsPushCommand, { flags_noPrompt: true }); - - expect(lastErrorMessage()).to.include('A valid Actor could not be found in the current directory.'); - }, - TEST_TIMEOUT, - ); - it( 'should enable standby mode when usesStandbyMode is true in actor.json', async () => { - toggleCwdBetweenFullAndParentPath(); - - const standbyActorName = `${ACTOR_NAME}-standby`; - - await mkdir(joinCwdPath(standbyActorName), { recursive: true }); - forceNewCwd(standbyActorName); + const actorJson = JSON.parse(readFileSync(joinPath(LOCAL_CONFIG_PATH), 'utf8')); - // Create a minimal actor with usesStandbyMode enabled - const actorJson = { - actorSpecification: 1, - name: standbyActorName, - version: '0.0', - buildTag: 'latest', - usesStandbyMode: true, - }; + actorJson.name = `${actorJson.name}-standBy-test`; + actorJson.usesStandbyMode = true; - await writeFile(joinPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); + writeFileSync(joinPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t'), { flag: 'w' }); await testRunCommand(ActorsPushCommand, { flags_noPrompt: true, flags_force: true }); const userInfo = await getLocalUserInfo(); - const actorId = `${userInfo.username}/${standbyActorName}`; + const actorId = `${userInfo.username}/${actorJson.name}`; actorsForCleanup.add(actorId); const createdActorClient = testUserClient.actor(actorId); const createdActor = await createdActorClient.get(); @@ -455,16 +407,14 @@ describe('[api] apify push', () => { ); it( - 'should enable standby mode on existing actor when usesStandbyMode is true in actor.json', + 'should not enable standby mode on existing actor when usesStandbyMode is true in actor.json', async () => { - toggleCwdBetweenFullAndParentPath(); - // Create an actor without standby mode first - const testActorWithoutStandby = { + const testActorWithTitleDesc = { ...TEST_ACTOR, - name: `${ACTOR_NAME}-standby-update`, + name: `${TEST_ACTOR.name}-standBy-rewrite-test`, }; - const testActor = await testUserClient.actors().create(testActorWithoutStandby); + const testActor = await testUserClient.actors().create(testActorWithTitleDesc); actorsForCleanup.add(testActor.id); const testActorClient = testUserClient.actor(testActor.id); @@ -472,19 +422,10 @@ describe('[api] apify push', () => { const initialActor = await testActorClient.get(); expect(initialActor?.actorStandby?.isEnabled).to.not.be.eql(true); - await mkdir(joinCwdPath(testActorWithoutStandby.name), { recursive: true }); - forceNewCwd(testActorWithoutStandby.name); - - // Create actor.json with usesStandbyMode enabled - const actorJson = { - actorSpecification: 1, - name: testActorWithoutStandby.name, - version: '0.0', - buildTag: 'latest', - usesStandbyMode: true, - }; - - await writeFile(joinPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t')); + // Enable standby + const actorJson = JSON.parse(readFileSync(joinPath(LOCAL_CONFIG_PATH), 'utf8')); + actorJson.usesStandbyMode = true; + writeFileSync(joinPath(LOCAL_CONFIG_PATH), JSON.stringify(actorJson, null, '\t'), { flag: 'w' }); // Push to existing actor - this should update standby mode await testRunCommand(ActorsPushCommand, { @@ -495,20 +436,46 @@ describe('[api] apify push', () => { const updatedActor = await testActorClient.get(); - // Verify all standby options are set to default values - expect(updatedActor?.actorStandby).to.be.eql({ - isEnabled: true, - disableStandbyFieldsOverride: false, - maxRequestsPerActorRun: 4, - desiredRequestsPerActorRun: 3, - idleTimeoutSecs: 300, - build: 'latest', - memoryMbytes: 1024, - shouldPassActorInput: false, - }); - + // Verify standby is not enabled after push + expect(updatedActor?.actorStandby?.isEnabled).to.not.be.eql(true); if (updatedActor) await testActorClient.delete(); }, TEST_TIMEOUT, ); + + it( + 'should not push Actor when there are no files to push', + async () => { + toggleCwdBetweenFullAndParentPath(); + + await mkdir(joinCwdPath('empty-dir'), { recursive: true }); + + forceNewCwd('empty-dir'); + + await testRunCommand(ActorsPushCommand, { flags_noPrompt: true }); + + expect(lastErrorMessage()).to.include( + 'You need to call this command from a folder that has an Actor in it', + ); + }, + TEST_TIMEOUT, + ); + + it( + 'should not push when the folder does not seem to have a valid Actor', + async () => { + toggleCwdBetweenFullAndParentPath(); + + await mkdir(joinCwdPath('not-an-actor-i-promise'), { recursive: true }); + + forceNewCwd('not-an-actor-i-promise'); + + await writeFile(joinCwdPath('owo.txt'), 'Lorem ipsum'); + + await testRunCommand(ActorsPushCommand, { flags_noPrompt: true }); + + expect(lastErrorMessage()).to.include('A valid Actor could not be found in the current directory.'); + }, + TEST_TIMEOUT, + ); }); From 3b686b145b76df2340d83850b8e51add1e2a7270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Tue, 27 Jan 2026 13:29:51 +0100 Subject: [PATCH 5/7] refactor: remove defaults for standBy --- package.json | 2 +- src/commands/actors/push.ts | 14 +------------- yarn.lock | 24 ++++++++++++++++++++++-- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index 1a244a86..c3731dff 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@skyra/jaro-winkler": "^1.1.1", "adm-zip": "~0.5.15", "ajv": "~8.17.1", - "apify-client": "^2.14.0", + "apify-client": "2.21.1-beta.12", "archiver": "~7.0.1", "axios": "^1.11.0", "chalk": "~5.6.0", diff --git a/src/commands/actors/push.ts b/src/commands/actors/push.ts index 73b34cf3..5b668371 100644 --- a/src/commands/actors/push.ts +++ b/src/commands/actors/push.ts @@ -40,18 +40,6 @@ const DEFAULT_ACTOR_VERSION_NUMBER = '0.0'; // that changes, we have to add it. const DEFAULT_BUILD_TAG = 'latest'; -// Default standby mode configuration when usesStandbyMode is enabled in actor.json -export const DEFAULT_STANDBY_OPTIONS = { - isEnabled: true, - disableStandbyFieldsOverride: false, - maxRequestsPerActorRun: 4, - desiredRequestsPerActorRun: 3, - idleTimeoutSecs: 300, - build: 'latest', - memoryMbytes: 1024, - shouldPassActorInput: false, -}; - export class ActorsPushCommand extends ApifyCommand { static override name = 'push' as const; @@ -213,7 +201,7 @@ export class ActorsPushCommand extends ApifyCommand { // Enable standby mode if configured in actor.json if (actorConfig!.usesStandbyMode) { - newActor.actorStandby = DEFAULT_STANDBY_OPTIONS; + newActor.actorStandby = { isEnabled: true }; } actor = await apifyClient.actors().create(newActor); diff --git a/yarn.lock b/yarn.lock index 6933f927..6e37e89d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2342,7 +2342,7 @@ __metadata: adm-zip: "npm:~0.5.15" ajv: "npm:~8.17.1" apify: "npm:^3.2.4" - apify-client: "npm:^2.14.0" + apify-client: "npm:2.21.1-beta.12" archiver: "npm:~7.0.1" axios: "npm:^1.11.0" chalk: "npm:~5.6.0" @@ -2391,7 +2391,27 @@ __metadata: languageName: unknown linkType: soft -"apify-client@npm:^2.14.0, apify-client@npm:^2.17.0": +"apify-client@npm:2.21.1-beta.12": + version: 2.21.1-beta.12 + resolution: "apify-client@npm:2.21.1-beta.12" + dependencies: + "@apify/consts": "npm:^2.42.0" + "@apify/log": "npm:^2.2.6" + "@apify/utilities": "npm:^2.23.2" + "@crawlee/types": "npm:^3.3.0" + ansi-colors: "npm:^4.1.1" + async-retry: "npm:^1.3.3" + axios: "npm:^1.6.7" + content-type: "npm:^1.0.5" + ow: "npm:^0.28.2" + proxy-agent: "npm:^6.5.0" + tslib: "npm:^2.5.0" + type-fest: "npm:^4.0.0" + checksum: 10c0/29c0b2d5aedda3ef4918eb059b25acddf923d87e708d83684c18bc5ad481133ddebb6db702133bee99972e72f335169105ae709c9b7b857bc2f5a51a22057a65 + languageName: node + linkType: hard + +"apify-client@npm:^2.17.0": version: 2.21.0 resolution: "apify-client@npm:2.21.0" dependencies: From f97a2e47579919f103d964fb3c43c5e71cb408d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Tue, 27 Jan 2026 15:57:43 +0100 Subject: [PATCH 6/7] chore: updates apify-client to v2.22.0 --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 27a3cdda..1a3de5fa 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@skyra/jaro-winkler": "^1.1.1", "adm-zip": "~0.5.15", "ajv": "~8.17.1", - "apify-client": "2.21.1-beta.12", + "apify-client": "2.22.0", "archiver": "~7.0.1", "axios": "^1.11.0", "chalk": "~5.6.0", diff --git a/yarn.lock b/yarn.lock index 0788eeb5..f49ded33 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2300,7 +2300,7 @@ __metadata: adm-zip: "npm:~0.5.15" ajv: "npm:~8.17.1" apify: "npm:^3.2.4" - apify-client: "npm:2.21.1-beta.12" + apify-client: "npm:2.22.0" archiver: "npm:~7.0.1" axios: "npm:^1.11.0" chalk: "npm:~5.6.0" @@ -2348,9 +2348,9 @@ __metadata: languageName: unknown linkType: soft -"apify-client@npm:2.21.1-beta.12": - version: 2.21.1-beta.12 - resolution: "apify-client@npm:2.21.1-beta.12" +"apify-client@npm:2.22.0": + version: 2.22.0 + resolution: "apify-client@npm:2.22.0" dependencies: "@apify/consts": "npm:^2.42.0" "@apify/log": "npm:^2.2.6" @@ -2364,7 +2364,7 @@ __metadata: proxy-agent: "npm:^6.5.0" tslib: "npm:^2.5.0" type-fest: "npm:^4.0.0" - checksum: 10c0/29c0b2d5aedda3ef4918eb059b25acddf923d87e708d83684c18bc5ad481133ddebb6db702133bee99972e72f335169105ae709c9b7b857bc2f5a51a22057a65 + checksum: 10c0/9fb6f22665c7dd8ea19b2e92a7ce9ee3bdcd9af200acb251d6ca1ddd4d6bdcba532d7934da540a6f2447df633590f8a03c4312e1393460c9bf5219b71177cede languageName: node linkType: hard From dcc824db536bf979dc5fef795c137d274583d669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20Sol=C3=A1r?= Date: Wed, 28 Jan 2026 10:28:40 +0100 Subject: [PATCH 7/7] Chore: updates apify-client dependency --- package.json | 2 +- yarn.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4a7238d5..ac148caf 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "@skyra/jaro-winkler": "^1.1.1", "adm-zip": "~0.5.15", "ajv": "~8.17.1", - "apify-client": "~2.22.0", + "apify-client": "^2.22.0", "archiver": "~7.0.1", "axios": "^1.11.0", "chalk": "~5.6.0", diff --git a/yarn.lock b/yarn.lock index 63bb8a91..c418f470 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2300,7 +2300,7 @@ __metadata: adm-zip: "npm:~0.5.15" ajv: "npm:~8.17.1" apify: "npm:^3.2.4" - apify-client: "npm:~2.22.0" + apify-client: "npm:^2.22.0" archiver: "npm:~7.0.1" axios: "npm:^1.11.0" chalk: "npm:~5.6.0" @@ -2368,7 +2368,7 @@ __metadata: languageName: node linkType: hard -"apify-client@npm:~2.22.0": +"apify-client@npm:^2.22.0": version: 2.22.0 resolution: "apify-client@npm:2.22.0" dependencies: