apify-cli 1.2.2-beta.7 → 1.2.2-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/actor.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{a as o,b as r,d as m}from"./chunk-TN3PNMLN.js";o("Actor");for(let a of m)a.registerCommand("actor");await r("actor");
2
+ import{a as o,b as r,d as m}from"./chunk-227TFXGT.js";o("Actor");for(let a of m)a.registerCommand("actor");await r("actor");
3
3
  //# sourceMappingURL=actor.js.map
package/dist/apify.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{a as o,b as r,c as i}from"./chunk-TN3PNMLN.js";o("Apify");for(let m of i)m.registerCommand("apify");await r("apify");
2
+ import{a as o,b as r,c as i}from"./chunk-227TFXGT.js";o("Apify");for(let m of i)m.registerCommand("apify");await r("apify");
3
3
  //# sourceMappingURL=apify.js.map
@@ -1,4 +1,4 @@
1
- var Ga=Object.defineProperty;var c=(r,e)=>Ga(r,"name",{value:e,configurable:!0});import Ie from"process";import{parseArgs as Sn}from"util";import Ur from"chalk";import{satisfies as Dc}from"semver";import ks from"chalk";import hc from"indent-string";import yc from"widest-line";import wc from"wrap-ansi";import Ya from"chalk";function C(r,...e){process.env.APIFY_CLI_DEBUG&&console.error(Ya.gray(`[${r}]`),...e)}c(C,"cliDebugPrint");import{realpathSync as Ha}from"fs";import{dirname as Ja}from"path";import mt from"chalk";function Ze(r){r.stdoutOutput&&console.log(...r.stdoutOutput),r.stderrOutput&&console.error(...r.stderrOutput)}c(Ze,"internalLog");function R(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[r.message]})}c(R,"simpleLog");function p(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.red("Error:"),r.message]})}c(p,"error");function x(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.yellow.bold("Warning:"),r.message]})}c(x,"warning");function $(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.green("Success:"),r.message]})}c($,"success");function Ae(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.gray("Run:"),r.message]})}c(Ae,"run");function v(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.white("Info:"),r.message]})}c(v,"info");function fs(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.blue(r.message),r.url]})}c(fs,"link");var gs="0.0.0";var Ka="1.2.2-beta.7",qa="6c44808fadc240e0f83cdc1ebe2c2461a2b9adb0";function Wa(){if(process.env.APIFY_CLI_MARKED_INSTALL_METHOD)return process.env.APIFY_CLI_MARKED_INSTALL_METHOD;if(process.env.APIFY_CLI_BUNDLE)return"bundle";let r=process.argv[1];if(!r)return x({message:"Failed to detect install method of CLI, assuming npm"}),"npm";let e=Ha(r);return process.env.VOLTA_HOME&&e.includes(process.env.VOLTA_HOME)?"volta":e.includes("homebrew/Cellar")||e.includes("linuxbrew/Cellar")?"homebrew":process.env.PNPM_HOME&&e.includes(process.env.PNPM_HOME)?"pnpm":process.env.BUN_INSTALL&&e.includes(process.env.BUN_INSTALL)?"bun":"npm"}c(Wa,"detectInstallMethod");function za(){return process.versions.bun?{runtime:"bun",version:process.versions.bun,nodeVersion:process.versions.node}:process.versions.deno?{runtime:"deno",version:process.versions.deno,nodeVersion:process.versions.node}:{runtime:"node",version:process.versions.node}}c(za,"getRuntimeInfo");var xt=null;function K(){if(xt)return xt;let r=Wa(),e=za();return xt={version:Ka,hash:qa,arch:process.env.APIFY_BUNDLE_ARCH??process.arch,platform:process.platform==="win32"?"windows":process.platform,runtime:e,extraRuntimeData:e.nodeVersion?`(emulating node ${e.nodeVersion})`:"",installMethod:r,get fullVersionString(){return`apify-cli/${this.version} (${this.hash.slice(0,7)}) running on ${this.platform}-${this.arch} with ${this.runtime.runtime}-${e.version}${this.extraRuntimeData?` ${this.extraRuntimeData}`:""}, installed via ${this.installMethod}`},get isBeta(){return this.version.includes("beta")||this.version===gs}},r==="bundle"&&(xt.installPath=Ja(process.execPath)),xt}c(K,"useCLIMetadata");import{existsSync as Ol,mkdirSync as Nl,readFileSync as Pl,writeFileSync as Ll}from"fs";import{dirname as kl}from"path";import{cryptoRandomObjectId as Dl}from"@apify/utilities";import{homedir as Za}from"os";import{join as Qe}from"path";import{KEY_VALUE_STORE_KEYS as Qa,META_ORIGINS as el}from"@apify/consts";var ui={name:"apify-cli",version:"1.2.2-beta.7",description:"Apify command-line interface (CLI) helps you manage the Apify cloud platform and develop, build, and deploy Apify Actors.",exports:"./dist/index.js",type:"module",scripts:{"dev:apify":"tsx ./src/entrypoints/apify.ts","dev:actor":"tsx ./src/entrypoints/actor.ts","test:all":"yarn test:local && yarn test:api","test:local":"vitest run --testNamePattern '^((?!\\[api]).)*$' --exclude ./test/api","test:api":"vitest run --testNamePattern '\\[api\\]'","test:python":"vitest run --testNamePattern '\\[python\\]'","test:cucumber":'cross-env NODE_OPTIONS="--import tsx" cucumber-js',lint:"eslint src test scripts features --ext .ts,.cjs,.mjs","lint:fix":"eslint src test scripts features --fix --ext .ts,.cjs,.mjs",format:'biome format . && prettier --check "**/*.{md,yml,yaml}"',"format:fix":'biome format --write . && prettier --write "**/*.{md,yml,yaml}"',clean:"rimraf dist",build:"yarn clean && tsc && tsup","build-bundles":"bun run scripts/build-cli-bundles.ts",prepack:"yarn insert-cli-metadata && yarn build && yarn update-docs","insert-cli-metadata":"tsx scripts/insert-cli-metadata.ts","update-docs":"tsx scripts/generate-cli-docs.ts",postinstall:`node -e "console.log('We have an active developer community on Discord. You can find it on https://discord.gg/crawlee-apify-801163717915574323.');"`},files:["dist"],bin:{actor:"./dist/actor.js",apify:"./dist/apify.js","apify-cli":"./dist/apify.js"},contributors:["Jakub Drobn\xEDk <jakub.drobnik@apify.com>","Jan Curn <jan@apify.com>","Vlad Frangu <vlad.frangu@apify.com>"],repository:{type:"git",url:"git+https://github.com/apify/apify-cli.git"},keywords:["apify","client","node","command","line","bash"],author:{name:"Apify",email:"support@apify.com",url:"https://www.apify.com"},license:"Apache-2.0",bugs:{url:"https://github.com/apify/apify-cli/issues"},homepage:"https://github.com/apify/apify-cli#readme",engines:{node:">=20"},dependencies:{"@apify/actor-memory-expression":"^0.1.3","@apify/actor-templates":"^0.1.5","@apify/consts":"^2.36.0","@apify/input_schema":"^3.17.0","@apify/utilities":"^2.18.0","@crawlee/memory-storage":"^3.12.0","@inquirer/core":"^11.0.0","@inquirer/input":"^5.0.0","@inquirer/password":"^5.0.0","@inquirer/select":"^5.0.0","@root/walk":"~1.1.0","@sapphire/duration":"^1.1.2","@sapphire/result":"^2.7.2","@sapphire/timestamp":"^1.0.3","@skyra/jaro-winkler":"^1.1.1","adm-zip":"~0.5.15",ajv:"~8.17.1","apify-client":"^2.14.0",archiver:"~7.0.1",axios:"^1.11.0",chalk:"~5.6.0","cli-table3":"^0.6.5","computer-name":"~0.1.0",configparser:"~0.3.10",cors:"~2.8.5","detect-indent":"~7.0.1","escape-string-regexp":"~5.0.0",execa:"^9.5.2",express:"~5.2.0",globby:"~16.1.0",handlebars:"~4.7.8","indent-string":"^5.0.0","is-ci":"~4.1.0",istextorbinary:"~9.5.0",jju:"~1.4.0","js-levenshtein":"^1.1.6","lodash.clonedeep":"^4.5.0",mime:"~4.1.0",open:"~11.0.0",rimraf:"~6.1.0",semver:"~7.7.0","string-width":"^8.0.0","strip-ansi":"^7.1.0",tiged:"~2.12.7",which:"^6.0.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0"},devDependencies:{"@apify/eslint-config":"^1.0.0","@apify/tsconfig":"^0.1.1","@biomejs/biome":"^2.0.0","@crawlee/types":"^3.11.1","@cucumber/cucumber":"^12.0.0","@types/adm-zip":"^0.5.5","@types/archiver":"^7.0.0","@types/bun":"^1.2.5","@types/cors":"^2.8.17","@types/execa":"^2.0.2","@types/express":"^5.0.0","@types/is-ci":"^3.0.4","@types/jju":"^1.4.5","@types/js-levenshtein":"^1","@types/lodash.clonedeep":"^4","@types/mime":"^4.0.0","@types/node":"^24.0.0","@types/semver":"^7.5.8","@types/which":"^3.0.4","@yarnpkg/core":"^4.1.2",apify:"^3.2.4","cross-env":"^10.0.0",eslint:"^9.25.1","eslint-config-prettier":"^10.1.2","lint-staged":"^16.0.0","mock-stdin":"^1.0.0",prettier:"^3.5.3",tsup:"^8.5.0",tsx:"^4.16.5",typescript:"^5.8.3","typescript-eslint":"^8.31.0",vitest:"^4.0.0"},volta:{node:"24.13.0",yarn:"4.12.0"},packageManager:"yarn@4.12.0",devEngines:{runtime:[{name:"node",version:">= 20",onFail:"error"},{name:"bun",version:">= 1.2.5",onFail:"ignore"}],packageManager:{name:"yarn",version:">= 4",onFail:"warn"}},"lint-staged":{"*":"biome format --write --no-errors-on-unmatched","*.{mjs,js,ts}":"eslint --fix --ext mjs,js,ts","*.md":"prettier --write"},resolutions:{tar:"7.5.3"}};var et="storage",hs="apify_storage",ys=1,nr={actorSpecification:ys,name:null,version:"0.0",buildTag:"latest",environmentVariables:{}},mi=1440*60*1e3,dt=c(()=>{let r=Qe(Za(),".apify");return process.env.__APIFY_INTERNAL_TEST_AUTH_PATH__?Qe(r,process.env.__APIFY_INTERNAL_TEST_AUTH_PATH__):r},"GLOBAL_CONFIGS_FOLDER"),ae=c(()=>Qe(dt(),"auth.json"),"AUTH_FILE_PATH"),ar=c(()=>Qe(dt(),"secrets.json"),"SECRETS_FILE_PATH"),lr=c(()=>Qe(dt(),"state.json"),"STATE_FILE_PATH"),cr=c(()=>Qe(dt(),"telemetry.json"),"TELEMETRY_FILE_PATH"),ur="apify.json",ws=".actor",tl="actor.json",V=Qe(ws,tl),As=new RegExp(`(^${Qa.INPUT}(?:\\.[^.]+)?$)`),be=ui.engines.node,di={"X-Apify-Request-Origin":el.CLI},tt="3.9.0",pi=".venv";import{createWriteStream as cl,existsSync as ce,mkdirSync as ul,readdirSync as bi,readFileSync as kt,writeFileSync as dr}from"fs";import{mkdir as ml,readFile as dl}from"fs/promises";import{get as pl}from"https";import{homedir as wi}from"os";import{dirname as Si,join as Se}from"path";import le from"process";import{finished as fl}from"stream/promises";import{DurationFormatter as vi,TimeTypes as rt}from"@sapphire/duration";import{Timestamp as bs}from"@sapphire/timestamp";import gl from"adm-zip";import hl from"ajv/dist/2019.js";import{ApifyClient as Ti}from"apify-client";import yl from"archiver";import{AxiosHeaders as wl}from"axios";import Al from"escape-string-regexp";import{globby as Ci}from"globby";import{getEncoding as bl}from"istextorbinary";import{Mime as Sl}from"mime";import vl from"mime/types/other.js";import Tl from"mime/types/standard.js";import{gte as Cl,minVersion as Il,satisfies as El}from"semver";import{ACTOR_ENV_VARS as Ss,ACTOR_JOB_TERMINAL_STATUSES as $l,ACTOR_NAME as Lt,APIFY_ENV_VARS as Rl,KEY_VALUE_STORE_KEYS as Ai,LOCAL_ACTOR_ENV_VARS as vs,LOCAL_STORAGE_SUBDIRS as Ts,SOURCE_FILE_FORMATS as Pt}from"@apify/consts";import{existsSync as rl,mkdirSync as ol}from"fs";import{readFile as sl,stat as fi,unlink as il,writeFile as nl}from"fs/promises";import{join as gi,sep as al}from"path";import{rimraf as ll}from"rimraf";var hi=c(async(r,e={},t=null)=>{let o=await sl(r,"utf-8"),s=JSON.parse(o),i;t?(i=s,i[t]={...s[t],...e}):i={...s,...e},await nl(r,JSON.stringify(i,null," "))},"updateLocalJson"),mr=c((r,e)=>{e||(e=r,r="."),e.split(al).reduce((o,s)=>(o=gi(o,s),rl(o)||ol(o),o),r)},"ensureFolderExistsSync"),Ot=c(async r=>{await ll(r)},"rimrafPromised"),Nt=c(async r=>{(await fi(r)).isFile()&&await il(r)},"deleteFile"),yi=c(async(r,e)=>(await Promise.all(r.map(async s=>fi(gi(e,s))))).map(s=>s.size).reduce((s,i)=>s+i,0),"sumFilesSizeInBytes");var pt=hl,pr=c(async r=>new Promise((e,t)=>{pl(r,o=>{o.statusCode===301||o.statusCode===302?(e(pr(o.headers.location)),o.destroy()):e(o)}).on("error",t)}),"httpsGet"),me=c(()=>{let r=Rl.LOCAL_STORAGE_DIR;return le.env[r]||le.env.CRAWLEE_STORAGE_DIR||et},"getLocalStorageDir"),ue=c(r=>{let e=Ss.DEFAULT_KEY_VALUE_STORE_ID,t=r||le.env[e]||vs[e];return Se(me(),Ts.keyValueStores,t)},"getLocalKeyValueStorePath"),Ii=c(r=>{let e=Ss.DEFAULT_DATASET_ID,t=r||le.env[e]||vs[e];return Se(me(),Ts.datasets,t)},"getLocalDatasetPath"),Ei=c(r=>{let e=Ss.DEFAULT_REQUEST_QUEUE_ID,t=r||le.env[e]||vs[e];return Se(me(),Ts.requestQueues,t)},"getLocalRequestQueuePath"),M=c(async()=>{let r={};try{let e=await dl(ae(),"utf-8");r=JSON.parse(e)}catch{return{}}if(!r.username&&!r.id)throw new Error('Corrupted local user info was found. Please run "apify login" to fix it.');return r},"getLocalUserInfo");async function I(){let r=await Dt();if(!r)throw new Error('You are not logged in with your Apify account. Call "apify login" to fix that.');return r}c(I,"getLoggedClientOrThrow");var $i=c(r=>{if(!r&&ce(dt())&&ce(ae())){let e=kt(ae(),"utf-8");return JSON.parse(e).token}return r},"getTokenWithAuthFileFallback"),Cs=c((r,e)=>(r=$i(r),{token:r,baseUrl:e||le.env.APIFY_CLIENT_BASE_URL,requestInterceptors:[t=>{t.headers??=new wl;for(let[o,s]of Object.entries(di))t.headers[o]=s;return t}]}),"getApifyClientOptions");async function Dt(r,e){r=$i(r);let t=new Ti(Cs(r,e)),o;try{o=await t.user("me").get()}catch{return null}return Es(ae()),dr(ae(),JSON.stringify({token:t.token,...o},null," ")),t}c(Dt,"getLoggedClient");var Is=c(r=>Se(r,V),"getLocalConfigPath"),de=c(r=>{if(ce(r))return JSON.parse(kt(r,{encoding:"utf-8"}))},"getJsonFileContent"),Me=c(r=>de(Is(r)),"getLocalConfig"),fr=c(async(r,e)=>{let t=Se(e||le.cwd(),V);await ml(Si(t),{recursive:!0}),dr(t,JSON.stringify(r,null," "))},"setLocalConfig"),_l=[me(),"node_modules",".venv"],gr=c(async r=>{let e=ue();mr(r,Ii()),mr(r,Ei()),mr(r,e);let t=Se(r,".gitignore"),o="";ce(t)&&(o=kt(t,{encoding:"utf-8"}));let s=[];for(let i of _l)RegExp(`^${Al(i)}$`,"mg").test(o)||s.push(i);s.length>0&&(o.length>0?(s.unshift("# Added by Apify CLI"),dr(t,`
1
+ var Ga=Object.defineProperty;var c=(r,e)=>Ga(r,"name",{value:e,configurable:!0});import Ie from"process";import{parseArgs as Sn}from"util";import Ur from"chalk";import{satisfies as Dc}from"semver";import ks from"chalk";import hc from"indent-string";import yc from"widest-line";import wc from"wrap-ansi";import Ya from"chalk";function C(r,...e){process.env.APIFY_CLI_DEBUG&&console.error(Ya.gray(`[${r}]`),...e)}c(C,"cliDebugPrint");import{realpathSync as Ha}from"fs";import{dirname as Ja}from"path";import mt from"chalk";function Ze(r){r.stdoutOutput&&console.log(...r.stdoutOutput),r.stderrOutput&&console.error(...r.stderrOutput)}c(Ze,"internalLog");function R(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[r.message]})}c(R,"simpleLog");function p(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.red("Error:"),r.message]})}c(p,"error");function x(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.yellow.bold("Warning:"),r.message]})}c(x,"warning");function $(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.green("Success:"),r.message]})}c($,"success");function Ae(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.gray("Run:"),r.message]})}c(Ae,"run");function v(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.white("Info:"),r.message]})}c(v,"info");function fs(r){Ze({[r.stdout?"stdoutOutput":"stderrOutput"]:[mt.blue(r.message),r.url]})}c(fs,"link");var gs="0.0.0";var Ka="1.2.2-beta.8",qa="49787d0f06e3edef05ce2607ed14314ade4498fd";function Wa(){if(process.env.APIFY_CLI_MARKED_INSTALL_METHOD)return process.env.APIFY_CLI_MARKED_INSTALL_METHOD;if(process.env.APIFY_CLI_BUNDLE)return"bundle";let r=process.argv[1];if(!r)return x({message:"Failed to detect install method of CLI, assuming npm"}),"npm";let e=Ha(r);return process.env.VOLTA_HOME&&e.includes(process.env.VOLTA_HOME)?"volta":e.includes("homebrew/Cellar")||e.includes("linuxbrew/Cellar")?"homebrew":process.env.PNPM_HOME&&e.includes(process.env.PNPM_HOME)?"pnpm":process.env.BUN_INSTALL&&e.includes(process.env.BUN_INSTALL)?"bun":"npm"}c(Wa,"detectInstallMethod");function za(){return process.versions.bun?{runtime:"bun",version:process.versions.bun,nodeVersion:process.versions.node}:process.versions.deno?{runtime:"deno",version:process.versions.deno,nodeVersion:process.versions.node}:{runtime:"node",version:process.versions.node}}c(za,"getRuntimeInfo");var xt=null;function K(){if(xt)return xt;let r=Wa(),e=za();return xt={version:Ka,hash:qa,arch:process.env.APIFY_BUNDLE_ARCH??process.arch,platform:process.platform==="win32"?"windows":process.platform,runtime:e,extraRuntimeData:e.nodeVersion?`(emulating node ${e.nodeVersion})`:"",installMethod:r,get fullVersionString(){return`apify-cli/${this.version} (${this.hash.slice(0,7)}) running on ${this.platform}-${this.arch} with ${this.runtime.runtime}-${e.version}${this.extraRuntimeData?` ${this.extraRuntimeData}`:""}, installed via ${this.installMethod}`},get isBeta(){return this.version.includes("beta")||this.version===gs}},r==="bundle"&&(xt.installPath=Ja(process.execPath)),xt}c(K,"useCLIMetadata");import{existsSync as Ol,mkdirSync as Nl,readFileSync as Pl,writeFileSync as Ll}from"fs";import{dirname as kl}from"path";import{cryptoRandomObjectId as Dl}from"@apify/utilities";import{homedir as Za}from"os";import{join as Qe}from"path";import{KEY_VALUE_STORE_KEYS as Qa,META_ORIGINS as el}from"@apify/consts";var ui={name:"apify-cli",version:"1.2.2-beta.8",description:"Apify command-line interface (CLI) helps you manage the Apify cloud platform and develop, build, and deploy Apify Actors.",exports:"./dist/index.js",type:"module",scripts:{"dev:apify":"tsx ./src/entrypoints/apify.ts","dev:actor":"tsx ./src/entrypoints/actor.ts","test:all":"yarn test:local && yarn test:api","test:local":"vitest run --testNamePattern '^((?!\\[api]).)*$' --exclude ./test/api","test:api":"vitest run --testNamePattern '\\[api\\]'","test:python":"vitest run --testNamePattern '\\[python\\]'","test:cucumber":'cross-env NODE_OPTIONS="--import tsx" cucumber-js',lint:"eslint src test scripts features --ext .ts,.cjs,.mjs","lint:fix":"eslint src test scripts features --fix --ext .ts,.cjs,.mjs",format:'biome format . && prettier --check "**/*.{md,yml,yaml}"',"format:fix":'biome format --write . && prettier --write "**/*.{md,yml,yaml}"',clean:"rimraf dist",build:"yarn clean && tsc && tsup","build-bundles":"bun run scripts/build-cli-bundles.ts",prepack:"yarn insert-cli-metadata && yarn build && yarn update-docs","insert-cli-metadata":"tsx scripts/insert-cli-metadata.ts","update-docs":"tsx scripts/generate-cli-docs.ts",postinstall:`node -e "console.log('We have an active developer community on Discord. You can find it on https://discord.gg/crawlee-apify-801163717915574323.');"`},files:["dist"],bin:{actor:"./dist/actor.js",apify:"./dist/apify.js","apify-cli":"./dist/apify.js"},contributors:["Jakub Drobn\xEDk <jakub.drobnik@apify.com>","Jan Curn <jan@apify.com>","Vlad Frangu <vlad.frangu@apify.com>"],repository:{type:"git",url:"git+https://github.com/apify/apify-cli.git"},keywords:["apify","client","node","command","line","bash"],author:{name:"Apify",email:"support@apify.com",url:"https://www.apify.com"},license:"Apache-2.0",bugs:{url:"https://github.com/apify/apify-cli/issues"},homepage:"https://github.com/apify/apify-cli#readme",engines:{node:">=20"},dependencies:{"@apify/actor-memory-expression":"^0.1.3","@apify/actor-templates":"^0.1.5","@apify/consts":"^2.36.0","@apify/input_schema":"^3.17.0","@apify/utilities":"^2.18.0","@crawlee/memory-storage":"^3.12.0","@inquirer/core":"^11.0.0","@inquirer/input":"^5.0.0","@inquirer/password":"^5.0.0","@inquirer/select":"^5.0.0","@root/walk":"~1.1.0","@sapphire/duration":"^1.1.2","@sapphire/result":"^2.7.2","@sapphire/timestamp":"^1.0.3","@skyra/jaro-winkler":"^1.1.1","adm-zip":"~0.5.15",ajv:"~8.17.1","apify-client":"^2.14.0",archiver:"~7.0.1",axios:"^1.11.0",chalk:"~5.6.0","cli-table3":"^0.6.5","computer-name":"~0.1.0",configparser:"~0.3.10",cors:"~2.8.5","detect-indent":"~7.0.1","escape-string-regexp":"~5.0.0",execa:"^9.5.2",express:"~5.2.0",globby:"~16.1.0",handlebars:"~4.7.8","indent-string":"^5.0.0","is-ci":"~4.1.0",istextorbinary:"~9.5.0",jju:"~1.4.0","js-levenshtein":"^1.1.6","lodash.clonedeep":"^4.5.0",mime:"~4.1.0",open:"~11.0.0",rimraf:"~6.1.0",semver:"~7.7.0","string-width":"^8.0.0","strip-ansi":"^7.1.0",tiged:"~2.12.7",which:"^6.0.0","widest-line":"^5.0.0","wrap-ansi":"^9.0.0"},devDependencies:{"@apify/eslint-config":"^1.0.0","@apify/tsconfig":"^0.1.1","@biomejs/biome":"^2.0.0","@crawlee/types":"^3.11.1","@cucumber/cucumber":"^12.0.0","@types/adm-zip":"^0.5.5","@types/archiver":"^7.0.0","@types/bun":"^1.2.5","@types/cors":"^2.8.17","@types/execa":"^2.0.2","@types/express":"^5.0.0","@types/is-ci":"^3.0.4","@types/jju":"^1.4.5","@types/js-levenshtein":"^1","@types/lodash.clonedeep":"^4","@types/mime":"^4.0.0","@types/node":"^24.0.0","@types/semver":"^7.5.8","@types/which":"^3.0.4","@yarnpkg/core":"^4.1.2",apify:"^3.2.4","cross-env":"^10.0.0",eslint:"^9.25.1","eslint-config-prettier":"^10.1.2","lint-staged":"^16.0.0","mock-stdin":"^1.0.0",prettier:"^3.5.3",tsup:"^8.5.0",tsx:"^4.16.5",typescript:"^5.8.3","typescript-eslint":"^8.31.0",vitest:"^4.0.0"},volta:{node:"24.13.0",yarn:"4.12.0"},packageManager:"yarn@4.12.0",devEngines:{runtime:[{name:"node",version:">= 20",onFail:"error"},{name:"bun",version:">= 1.2.5",onFail:"ignore"}],packageManager:{name:"yarn",version:">= 4",onFail:"warn"}},"lint-staged":{"*":"biome format --write --no-errors-on-unmatched","*.{mjs,js,ts}":"eslint --fix --ext mjs,js,ts","*.md":"prettier --write"},resolutions:{tar:"7.5.3"}};var et="storage",hs="apify_storage",ys=1,nr={actorSpecification:ys,name:null,version:"0.0",buildTag:"latest",environmentVariables:{}},mi=1440*60*1e3,dt=c(()=>{let r=Qe(Za(),".apify");return process.env.__APIFY_INTERNAL_TEST_AUTH_PATH__?Qe(r,process.env.__APIFY_INTERNAL_TEST_AUTH_PATH__):r},"GLOBAL_CONFIGS_FOLDER"),ae=c(()=>Qe(dt(),"auth.json"),"AUTH_FILE_PATH"),ar=c(()=>Qe(dt(),"secrets.json"),"SECRETS_FILE_PATH"),lr=c(()=>Qe(dt(),"state.json"),"STATE_FILE_PATH"),cr=c(()=>Qe(dt(),"telemetry.json"),"TELEMETRY_FILE_PATH"),ur="apify.json",ws=".actor",tl="actor.json",V=Qe(ws,tl),As=new RegExp(`(^${Qa.INPUT}(?:\\.[^.]+)?$)`),be=ui.engines.node,di={"X-Apify-Request-Origin":el.CLI},tt="3.9.0",pi=".venv";import{createWriteStream as cl,existsSync as ce,mkdirSync as ul,readdirSync as bi,readFileSync as kt,writeFileSync as dr}from"fs";import{mkdir as ml,readFile as dl}from"fs/promises";import{get as pl}from"https";import{homedir as wi}from"os";import{dirname as Si,join as Se}from"path";import le from"process";import{finished as fl}from"stream/promises";import{DurationFormatter as vi,TimeTypes as rt}from"@sapphire/duration";import{Timestamp as bs}from"@sapphire/timestamp";import gl from"adm-zip";import hl from"ajv/dist/2019.js";import{ApifyClient as Ti}from"apify-client";import yl from"archiver";import{AxiosHeaders as wl}from"axios";import Al from"escape-string-regexp";import{globby as Ci}from"globby";import{getEncoding as bl}from"istextorbinary";import{Mime as Sl}from"mime";import vl from"mime/types/other.js";import Tl from"mime/types/standard.js";import{gte as Cl,minVersion as Il,satisfies as El}from"semver";import{ACTOR_ENV_VARS as Ss,ACTOR_JOB_TERMINAL_STATUSES as $l,ACTOR_NAME as Lt,APIFY_ENV_VARS as Rl,KEY_VALUE_STORE_KEYS as Ai,LOCAL_ACTOR_ENV_VARS as vs,LOCAL_STORAGE_SUBDIRS as Ts,SOURCE_FILE_FORMATS as Pt}from"@apify/consts";import{existsSync as rl,mkdirSync as ol}from"fs";import{readFile as sl,stat as fi,unlink as il,writeFile as nl}from"fs/promises";import{join as gi,sep as al}from"path";import{rimraf as ll}from"rimraf";var hi=c(async(r,e={},t=null)=>{let o=await sl(r,"utf-8"),s=JSON.parse(o),i;t?(i=s,i[t]={...s[t],...e}):i={...s,...e},await nl(r,JSON.stringify(i,null," "))},"updateLocalJson"),mr=c((r,e)=>{e||(e=r,r="."),e.split(al).reduce((o,s)=>(o=gi(o,s),rl(o)||ol(o),o),r)},"ensureFolderExistsSync"),Ot=c(async r=>{await ll(r)},"rimrafPromised"),Nt=c(async r=>{(await fi(r)).isFile()&&await il(r)},"deleteFile"),yi=c(async(r,e)=>(await Promise.all(r.map(async s=>fi(gi(e,s))))).map(s=>s.size).reduce((s,i)=>s+i,0),"sumFilesSizeInBytes");var pt=hl,pr=c(async r=>new Promise((e,t)=>{pl(r,o=>{o.statusCode===301||o.statusCode===302?(e(pr(o.headers.location)),o.destroy()):e(o)}).on("error",t)}),"httpsGet"),me=c(()=>{let r=Rl.LOCAL_STORAGE_DIR;return le.env[r]||le.env.CRAWLEE_STORAGE_DIR||et},"getLocalStorageDir"),ue=c(r=>{let e=Ss.DEFAULT_KEY_VALUE_STORE_ID,t=r||le.env[e]||vs[e];return Se(me(),Ts.keyValueStores,t)},"getLocalKeyValueStorePath"),Ii=c(r=>{let e=Ss.DEFAULT_DATASET_ID,t=r||le.env[e]||vs[e];return Se(me(),Ts.datasets,t)},"getLocalDatasetPath"),Ei=c(r=>{let e=Ss.DEFAULT_REQUEST_QUEUE_ID,t=r||le.env[e]||vs[e];return Se(me(),Ts.requestQueues,t)},"getLocalRequestQueuePath"),M=c(async()=>{let r={};try{let e=await dl(ae(),"utf-8");r=JSON.parse(e)}catch{return{}}if(!r.username&&!r.id)throw new Error('Corrupted local user info was found. Please run "apify login" to fix it.');return r},"getLocalUserInfo");async function I(){let r=await Dt();if(!r)throw new Error('You are not logged in with your Apify account. Call "apify login" to fix that.');return r}c(I,"getLoggedClientOrThrow");var $i=c(r=>{if(!r&&ce(dt())&&ce(ae())){let e=kt(ae(),"utf-8");return JSON.parse(e).token}return r},"getTokenWithAuthFileFallback"),Cs=c((r,e)=>(r=$i(r),{token:r,baseUrl:e||le.env.APIFY_CLIENT_BASE_URL,requestInterceptors:[t=>{t.headers??=new wl;for(let[o,s]of Object.entries(di))t.headers[o]=s;return t}]}),"getApifyClientOptions");async function Dt(r,e){r=$i(r);let t=new Ti(Cs(r,e)),o;try{o=await t.user("me").get()}catch{return null}return Es(ae()),dr(ae(),JSON.stringify({token:t.token,...o},null," ")),t}c(Dt,"getLoggedClient");var Is=c(r=>Se(r,V),"getLocalConfigPath"),de=c(r=>{if(ce(r))return JSON.parse(kt(r,{encoding:"utf-8"}))},"getJsonFileContent"),Me=c(r=>de(Is(r)),"getLocalConfig"),fr=c(async(r,e)=>{let t=Se(e||le.cwd(),V);await ml(Si(t),{recursive:!0}),dr(t,JSON.stringify(r,null," "))},"setLocalConfig"),_l=[me(),"node_modules",".venv"],gr=c(async r=>{let e=ue();mr(r,Ii()),mr(r,Ei()),mr(r,e);let t=Se(r,".gitignore"),o="";ce(t)&&(o=kt(t,{encoding:"utf-8"}));let s=[];for(let i of _l)RegExp(`^${Al(i)}$`,"mg").test(o)||s.push(i);s.length>0&&(o.length>0?(s.unshift("# Added by Apify CLI"),dr(t,`
2
2
  ${s.join(`
3
3
  `)}
4
4
  `,{flag:"a"})):dr(t,`${s.join(`
@@ -104,7 +104,7 @@ ${n.join(`
104
104
  `);x({message:s})}async handleInstallSpecificVersion(e){if(e!=="latest"&&!ra(e,ao)){p({message:`The minimum version of the CLI you can manually downgrade/upgrade to is ${ao}.`});return}let t=await ea(e);if(!t){p({message:"The provided version does not exist. Please check the version number and try again."});return}let{assets:o,version:s}=t;if(!ra(s,ao)){p({message:`The minimum version of the CLI you can manually downgrade/upgrade to is ${ao}.`});return}let i=K();if(i.installMethod==="bundle"){if(!o.length){p({message:["Failed to find the assets for your system and the provided version. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:",`- The version you are trying to upgrade to: ${s}`,`- The system you are running on: ${i.platform} ${i.arch}`].join(`
105
105
  `)});return}let a=Am(process.execPath);C("[upgrade] bundleDirectory",a);let l=await wm(a);if(!l.some(m=>m.startsWith("apify")||m.startsWith("actor"))){C("[upgrade] directoryEntries",l),p({message:[`Failed to find the currently installed ${this.cliName} bundle. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,`- The version you are trying to upgrade to: ${s}`,`- The system you are running on: ${i.platform} ${i.arch}`,`- The directory where the ${this.cliName} bundle is installed: ${a}`].join(`
106
106
  `)});return}if(i.platform==="windows")return this.startUpgradeProcess(a,s,o);await this.handleUnixUpgrade(a,s,o),this.successMessage(s);return}let n=oa[i.installMethod](e,this.entrypoint);if(process.env.APIFY_CLI_DEBUG){v({message:`Would run command: ${n.join(" ")}`});return}try{await ne({cmd:n[0],args:n.slice(1)}),this.successMessage(s)}catch{p({message:`Failed to upgrade the CLI. Please run the following command manually: ${n.join(" ")}`})}}successMessage(e){$({message:`Successfully upgraded to ${e} \u{1F44D}`})}async startUpgradeProcess(e,t,o){await this.upsertUpgradeScript(e);let s=["-ExecutionPolicy","Bypass","-File",`"${Ks(e,"upgrade.ps1")}"`,"-ProcessId",process.pid.toString(),"-InstallLocation",`"${e}"`,"-Version",`"${t}"`],i=o.map(a=>a.browser_download_url).join(",");s.push("-AllUrls",`"${i}"`),C("[upgrade] starting upgrade process with args",s),v({message:"Starting upgrade process..."});let n=gm("powershell.exe",s,{detached:!0,shell:!0,stdio:"inherit",windowsHide:!1,windowsVerbatimArguments:!0});n.on("spawn",()=>{C("[upgrade] upgrade process spawned"),n.unref(),process.exit(0)}),n.on("error",a=>{p({message:`Failed to start the upgrade process: ${a.message}`})})}async upsertUpgradeScript(e){let t=Ks(e,"upgrade.ps1");if(hm(t))return;let o=K(),s=await fetch(sa,{headers:{"User-Agent":ot}});s.ok||(p({message:["Failed to fetch the upgrade script. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:",`- The system you are running on: ${o.platform} ${o.arch}`,`- The URL of the asset that failed to fetch: ${sa}`,`- The status code of the response: ${s.status}`].join(`
107
- `)}),process.exit(1));let i=await s.arrayBuffer();await ta(t,Buffer.from(i)),C("[upgrade] downloaded upgrade script to",t)}async handleUnixUpgrade(e,t,o){let s=K();for(let i of o){let n=i.name.split("-")[0],a=Ks(e,n);v({message:`Downloading ${n}...`});let l=await fetch(i.browser_download_url,{headers:{"User-Agent":ot}});if(!l.ok){let u=await l.text();C("[upgrade] failed to fetch asset",{asset:i,status:l.status,body:u}),p({message:[`Failed to fetch the ${n} bundle. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,`- The version you are trying to upgrade to: ${t}`,`- The system you are running on: ${s.platform} ${s.arch}`,`- The URL of the asset that failed to fetch: ${i.browser_download_url}`,`- The status code of the response: ${l.status}`,`- The body of the response: ${u}`].join(`
107
+ `)}),process.exit(1));let i=await s.arrayBuffer();await ta(t,Buffer.from(i)),C("[upgrade] downloaded upgrade script to",t)}async handleUnixUpgrade(e,t,o){let s=K();for(let i of o){let n=i.name.split("-")[0],a=Ks(e,n);v({message:`Downloading \`${n}\` binary of the Apify CLI...`});let l=await fetch(i.browser_download_url,{headers:{"User-Agent":ot}});if(!l.ok){let u=await l.text();C("[upgrade] failed to fetch asset",{asset:i,status:l.status,body:u}),p({message:[`Failed to fetch the ${n} bundle. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,`- The version you are trying to upgrade to: ${t}`,`- The system you are running on: ${s.platform} ${s.arch}`,`- The URL of the asset that failed to fetch: ${i.browser_download_url}`,`- The status code of the response: ${l.status}`,`- The body of the response: ${u}`].join(`
108
108
  `)});return}if(process.env.APIFY_CLI_DEBUG&&!process.env.APIFY_CLI_FORCE){v({message:`Would write asset ${n} to ${a}`});continue}v({message:qs.gray(`Writing ${n} to ${a}...`)});let m=await l.arrayBuffer();try{let u=await ym(a).then(f=>f.mode).catch(()=>493);await ta(a,Buffer.from(m),{mode:u|448}),C(`[upgrade ${n}] wrote asset to`,a)}catch(u){C("[upgrade] failed to write asset",{error:u}),p({message:[`Failed to write the ${n} bundle. Please open an issue on https://github.com/apify/apify-cli/issues/new and provide the following information:`,`- The version you are trying to upgrade to: ${t}`,`- The system you are running on: ${s.platform} ${s.arch}`,`- The URL of the asset that failed to fetch: ${i.browser_download_url}`,`- The error: ${u.message}`].join(`
109
109
  `)})}}}};import{mkdir as Pm,readdir as Lm,stat as fa}from"fs/promises";import{join as ut}from"path";import ga from"process";import{gte as km,minVersion as Dm}from"semver";import{fetchManifest as Fm,manifestUrl as Mm}from"@apify/actor-templates";import{createWriteStream as Sm}from"fs";import{pipeline as vm}from"stream/promises";import{Separator as na}from"@inquirer/core";import bm from"@inquirer/select";var qe=Re(async({message:r,choices:e,pageSize:t,loop:o,default:s})=>await bm({message:r,choices:e,pageSize:t,loop:o,default:s}));var ia=["JavaScript","TypeScript","Python"];async function Ws(r){return r?(Mt(r),r):Tm()}c(Ws,"ensureValidActorName");async function aa(r,e){let t=await e;if(t instanceof Error)throw t;if(r){let o=t.templates.find(s=>s.name===r);if(!o)throw new Error(`Could not find the selected template: ${r} in the list of templates.`);return o}return ua(t)}c(aa,"getTemplateDefinition");async function la(r,e){let t=await e;if(t instanceof Error)throw t;try{let o=await pr(t.localReadmeSuffixUrl),s=Sm(r,{flags:"a"});s.write(`
110
110
 
@@ -252,4 +252,4 @@ Read more: https://docs.apify.com/cli/docs/telemetry`;static subcommands=[ds,ms]
252
252
  4. INPUT_SCHEMA.json
253
253
 
254
254
  Optionally specify custom schema path to validate.`;static args={path:A.string({required:!1,description:"Optional path to your INPUT_SCHEMA.json file. If not provided ./INPUT_SCHEMA.json is used."})};static hiddenAliases=["vis"];async run(){let{inputSchema:e,inputSchemaPath:t}=await ct({forcePath:this.args.path,cwd:Nd.cwd()});if(!e)throw new Error(`Input schema has not been found at ${t}.`);t?v({message:`Validating input schema stored at ${t}`}):v({message:`Validating input schema embedded in '${V}'`});let o=new pt({strict:!1});Pd(o,e),$({message:"Input schema is valid."})}};var nO=[Gr,Qr,so,So,Mo,Go,ss,ls,us,sr,io,Qt,Zt,uo,vo,Co,Ro,$o,Uo,jo,Vo,Bo,qo,ps,er],aO=[St,bt,At,wt,yt,ht,gt,er,Qt,Zt,sr];export{Wh as a,zh as b,nO as c,aO as d};
255
- //# sourceMappingURL=chunk-TN3PNMLN.js.map
255
+ //# sourceMappingURL=chunk-227TFXGT.js.map