@currents/cmd 1.1.0-beta.1 → 1.1.0-beta.2
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/bin/index.js +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/bin/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
"use strict";var Ar=Object.create;var pe=Object.defineProperty;var Ur=Object.getOwnPropertyDescriptor;var br=Object.getOwnPropertyNames;var Sr=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty;var Lr=(e,t)=>{for(var r in t)pe(e,r,{get:t[r],enumerable:!0})},Nr=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of br(t))!yr.call(e,n)&&n!==r&&pe(e,n,{get:()=>t[n],enumerable:!(i=Ur(t,n))||i.enumerable});return e};var c=(e,t,r)=>(r=e!=null?Ar(Sr(e)):{},Nr(t||!e||!e.__esModule?pe(r,"default",{value:e,enumerable:!0}):r,e));var Cc=require("source-map-support/register");var hr=require("@commander-js/extra-typings");var Le={name:"@currents/cmd",version:"1.1.0-beta.
|
|
2
|
+
"use strict";var Ar=Object.create;var pe=Object.defineProperty;var Ur=Object.getOwnPropertyDescriptor;var br=Object.getOwnPropertyNames;var Sr=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty;var Lr=(e,t)=>{for(var r in t)pe(e,r,{get:t[r],enumerable:!0})},Nr=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of br(t))!yr.call(e,n)&&n!==r&&pe(e,n,{get:()=>t[n],enumerable:!(i=Ur(t,n))||i.enumerable});return e};var c=(e,t,r)=>(r=e!=null?Ar(Sr(e)):{},Nr(t||!e||!e.__esModule?pe(r,"default",{value:e,enumerable:!0}):r,e));var Cc=require("source-map-support/register");var hr=require("@commander-js/extra-typings");var Le={name:"@currents/cmd",version:"1.1.0-beta.2",main:"./dist/index.js",author:"Currents Software Inc",license:"GPL-3.0-or-later",description:"Currents CLI tools",scripts:{test:"vitest",rm:"rimraf dist",lint:'TIMING=1 eslint "**/*.ts*"',build:"tsup-node --minify --dts",dev:"tsup-node --watch --dts",release:"release-it","publish:npm":"npm run rm && npm run build && ./publish.js"},devDependencies:{"@jest/reporters":"^29.7.0","@jest/types":"^29.6.3","@release-it/conventional-changelog":"^7.0.2","@types/debug":"^4.1.12","@types/fs-extra":"^11.0.4","@types/getos":"^3.0.4","@types/lodash":"^4.17.5","@types/node":"^20.14.2","@types/semver":"^7.5.8","@types/tmp":"^0.2.6","@types/uuid":"^9.0.8",jest:"^29.7.0",rimraf:"^5.0.7",tsup:"^8.1.0",typescript:"^5.4.5",vitest:"^1.3.0"},dependencies:{"@commander-js/extra-typings":"^11.1.0","@currents/commit-info":"1.0.1-beta.0",axios:"^1.7.2","axios-retry":"^4.4.0",commander:"^11.1.0",debug:"^4.3.5",dotenv:"^16.0.3",execa:"^8.0.1","fs-extra":"^11.2.0",getos:"^3.2.1","jest-cli":"^29.7.0","jest-config":"^29.7.0",lodash:"^4.17.21",nanoid:"^3.3.4","pretty-ms":"^7.0.1",semver:"^7.6.0","source-map-support":"^0.5.21",tmp:"^0.2.3","tmp-promise":"^3.0.3","ts-pattern":"^5.2.0"},bin:{currents:"./dist/bin/index.js","currents-cli":"./dist/bin/index.js"},files:["dist","!**/*.map","!**/*/*.map"],keywords:["cloud test dashboard","test reporter","test results","currents","currents dashboard","ci"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js",types:"./dist/index.d.ts"},"./discovery/jest":{import:"./dist/services/upload/discovery/jest/reporter.js",require:"./dist/services/upload/discovery/jest/reporter.js",types:"./dist/services/upload/discovery/jest/reporter.d.ts"},"./package.json":"./package.json"},"release-it":{npm:{publish:!1},github:{release:!0,releaseName:"${npm.name} v${version}"},plugins:{"@release-it/conventional-changelog":{preset:"angular",header:"# Changelog",ignoreVersion:!0,infile:"./CHANGELOG.md"}},git:{commitMessage:"chore: release ${npm.name} v${version}",tagName:"${npm.name}-v${version}"}}};var H=Le.version;var Ue=require("@commander-js/extra-typings");var Br=[];function me(e){Br.push(e)}var _=c(require("chalk")),v=c(require("util"));var ue=require("debug"),xr=c(require("fs-extra")),s=(0,ue.debug)("currents"),wr=null;function k(){ue.debug.enable("currents,currents:*")}function Ne(e){wr=e}var De=[],Be=[];var xe=(...e)=>{let t=v.default.format(...e);me(t),console.log(t)},vr=(...e)=>{let t=v.default.format(...e);me(t),console.error(t)},L=xe,g=(...e)=>{let t=v.default.format(...e);return Be.push(t),s("WARNING: ",t),xe(_.default.bgYellow.black(" WARNING "),t)};var m=(...e)=>{let t=v.default.format(...e);return De.push(t),s("ERROR: ",t),vr(_.default.bgRed.white(" ERROR "),t)};var G=(e=2)=>console.log(Array(e).fill("").join(`
|
|
3
3
|
`)),on=_.default.cyan,nn=_.default.blueBright,sn=_.default.red,an=_.default.yellow,cn=_.default.green,pn=_.default.gray,mn=_.default.white,un=_.default.black,dn=_.default.magenta,I=_.default.dim,ln=_.default.bold;var nr=c(require("chalk"));var B=class extends Error{};function we(e){return Object.entries(e??{}).reduce((t,[r,i])=>i===void 0?t:{...t,[r]:i},{})}function C(e,t){return"env"in e[t]&&e[t].env?e[t].env:""}function Fr(e,t){return e[t].cli}function Hr(e,t){return e[t].name}function j(e,t,r,i){let n={...we(i),...we(r())};return t.forEach(a=>{if(!n[a])throw m(`${Hr(e,a)} is required for Currents Reporter. Use the following methods to set the value:
|
|
4
4
|
- as environment variable: ${I(C(e,a))}
|
|
5
5
|
- as CLI flag of the command: ${I(Fr(e,a))}`),new B("Missing required config variable")}),n}var kr={apiKey:{name:"Api Key",env:"CURRENTS_API_KEY",cli:"--api-key"},debug:{name:"Debug",env:"CURRENTS_DEBUG",cli:"--debug"}},Gr={branch:{name:"Run Branch",cli:"--branch"},output:{name:"Output Path",env:"CURRENTS_OUTPUT",cli:"--output"},ciBuildId:{name:"CI Build ID",cli:"--ci-build-id"},projectId:{name:"Project ID",cli:"--project-id"},tag:{name:"Run Tag",cli:"--tag"}},b={...kr,...Gr};function ve(){return{apiKey:process.env[b.apiKey.env],debug:!!process.env[b.debug.env]}}var jr=s.extend("config"),Kr=["apiKey"],de=null;function Me(e){de=j(b,Kr,ve,e),jr("Resolved config: %o",de)}function K(){return de}var V=c(require("fs-extra")),Fe=require("path");async function N(e){try{return await V.default.readJson(e)}catch(t){throw m("Error while reading JSON file: %s",e,t),m}}async function le(e,t){try{return await V.default.writeFile(e,t,"utf8"),e}catch(r){throw m(`Error writing file at ${e}:`,r),r}}async function He(e){let t=(0,Fe.dirname)(e);await V.default.ensureDir(t)}var $={};Lr($,{getNanoid:()=>Vr,userFacingNanoid:()=>fe});var ge=require("nanoid"),ke="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Vr=(e=16)=>(0,ge.customAlphabet)(ke,e)(),fe=(0,ge.customAlphabet)(ke,12);var at=require("fs/promises");var nt=c(require("lodash"));var qe=c(require("axios")),Qe=c(require("axios-retry")),We=c(require("lodash"));var Ee=()=>process.env.CURRENTS_API_URL??"https://cy.currents.dev",Ge=()=>process.env.CURRENTS_REST_API_URL??"https://api.currents.dev",je=()=>3e4;var Re=require("axios"),_e=c(require("pretty-ms"));var Ke=s.extend("http"),J=e=>[3*1e3,15*1e3,30*1e3][e-1],Ve=e=>(Ke("isRetriableError: %o",{message:e.message,code:"code"in e?e.code:void 0,status:"response"in e?e.response?.status:void 0,headers:"response"in e?e.response?.headers:void 0,data:"response"in e?e.response?.data:void 0,isAxiosError:(0,Re.isAxiosError)(e)}),"code"in e&&e.code&&["ECONNABORTED","ECONNREFUSED","ECONNRESET","ETIMEDOUT","ENETRESET"].includes(e.code)?!0:(0,Re.isAxiosError)(e)?[429,502,503,504].includes(e.response?.status??0):!1),Y=()=>3;function $e(e,t,r){Ke("Network request '%s' failed: '%s'. Next attempt is in %s (%d/%d).",`${r.method?.toUpperCase()} ${r.url}`,t.message,(0,_e.default)(J(e)),e,Y()),g("Network request '%s' failed: '%s'. Next attempt is in %s (%d/%d).",`${r.method?.toUpperCase()} ${r.url}`,t.message,(0,_e.default)(J(e)),e,Y())}var Je=s.extend("http");var Ie={api:null,restApi:null};function $r(e){let t=qe.default.create({baseURL:e==="api"?Ee():Ge(),timeout:je(),transitional:{clarifyTimeoutError:!0}});return t.interceptors.request.use(r=>{let i=r["axios-retry"]?.retryCount??0;r.headers.get("Content-Type")||r.headers.set("Content-Type","application/json");let n={...We.default.pick(r,"method","url","headers"),data:Buffer.isBuffer(r.data)?"buffer":r.data};return i?Je("network request retry: %o",Ye({...n,isRetry:!0})):Je("network request: %o",Ye(n)),r}),(0,Qe.default)(t,{retries:Y(),retryCondition:Ve,retryDelay:J,shouldResetTimeout:!0,onRetry:$e}),t}function ze(e){return Ie[e]===null&&(Ie[e]=$r(e)),Ie[e]}function Ye(e){return{method:e.method,baseUrl:Ee(),url:e.url,data:e.isRetry?"<retry>":Jr(e.data),headers:{...e.headers,"x-currents-key":"***"}}}function Jr(e){return e?.results?.raw?{...e,results:{...e.results,raw:"***"}}:e}var et=require("axios"),tt=c(require("lodash")),E=require("ts-pattern");function rt(e){(0,E.match)(e).when(et.isAxiosError,Yr).otherwise(()=>{g("Unexpected error while sending network request: %s",e)})}function Yr(e){return(0,E.match)(e).with({code:"ECONNABORTED"},()=>{g("Network connection aborted")}).with({code:"ECONNREFUSED"},()=>{g("Network connection aborted")}).with({code:"ECONNRESET"},()=>{g("Network connection reset")}).with({code:"ETIMEDOUT"},()=>{g("Network connection timeout")}).with({response:E.P.not(E.P.nullish)},t=>{qr(t,{status:t.response.status,data:t.response.data})}).otherwise(t=>{g(`[currents] Unexpected network error: %s
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
%O`,e.message,{method:e.response?.config.method,url:e.response?.config.url,status:e.response?.status})})}var Xe={RUN_CANCELLED:"RUN_CANCELLED",RUN_EXPIRED:"RUN_EXPIRED",MISSING_SUITE:"MISSING_SUITE"};function Ze(e,t){return tt.default.isString(e)?t?.length===0?[e]:[e,`
|
|
10
10
|
${(t??[]).map(r=>` - ${r}`).join(`
|
|
11
11
|
`)}
|
|
12
|
-
`]:["Unexpected network error"]}var ot=s.extend("http");async function q(e,t,r=ze){try{let i=await r(e).request(t);return ot("network response: %o",{...nt.default.omit(i,"request","config"),url:i.config.url,method:i.config.method}),i}catch(i){let n=i;throw ot("network error: %o",{code:n.code,message:n.message,url:n.config?.url,method:n.config?.method,status:n.response?.status,headers:n.response?.headers,data:n.response?.data}),rt(n),n}}var it=s.extend("api");async function st(e,t){try{return it("Run params: %o",t),q("restApi",{url:"v1/runs/
|
|
12
|
+
`]:["Unexpected network error"]}var ot=s.extend("http");async function q(e,t,r=ze){try{let i=await r(e).request(t);return ot("network response: %o",{...nt.default.omit(i,"request","config"),url:i.config.url,method:i.config.method}),i}catch(i){let n=i;throw ot("network error: %o",{code:n.code,message:n.message,url:n.config?.url,method:n.config?.method,status:n.response?.status,headers:n.response?.headers,data:n.response?.data}),rt(n),n}}var it=s.extend("api");async function st(e,t){try{return it("Run params: %o",t),q("restApi",{url:"v1/runs/previous",params:t,method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`}}).then(r=>r.data)}catch(r){throw it("Failed to obtain run data:",r),r}}async function Ce(){try{let e=K();if(!e)throw new Error("Config is missing!");e.debug&&k();let t=e.ciBuildId?{ciBuildId:e.ciBuildId,pwLastFailed:e.pwLastFailed}:{projectId:e.projectId,branch:e.branch,tag:e.tag,pwLastFailed:e.pwLastFailed},r=await st(e.apiKey,t);await zr(r.data,e)}catch(e){throw s("Failed to get run data"),e}}async function zr(e,t){let r=JSON.stringify(e,null,2);t.output?(await He(t.output),await(0,at.writeFile)(t.output,r,"utf-8")):L(r)}var u=require("lodash");var Q=s.extend("ci"),Xr=(e,...t)=>(0,u.chain)(t).compact().join(e).value(),Zr=(e,t)=>(0,u.set)(e,(0,u.camelCase)(t),process.env[t]),p=e=>(0,u.transform)(e,Zr,{}),eo=()=>process.env.TF_BUILD&&process.env.TF_BUILD_BUILDNUMBER,to=()=>process.env.TF_BUILD&&process.env.AZURE_HTTP_USER_AGENT,ro=()=>(0,u.some)(process.env,(e,t)=>/^CODEBUILD_/.test(t)),oo=()=>process.env.bamboo_buildNumber,no=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&process.env.CODESHIP,io=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&!process.env.CODESHIP,so=()=>(0,u.some)(process.env,(e,t)=>/^CONCOURSE_/.test(t)),ao=()=>process.env.GITLAB_CI||process.env.CI_SERVER_NAME&&/^GitLab/.test(process.env.CI_SERVER_NAME),co=()=>process.env.GCP_PROJECT||process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT,po=()=>process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.JENKINS_VERSION||process.env.HUDSON_URL||process.env.HUDSON_HOME,mo=()=>process.env.WERCKER||process.env.WERCKER_MAIN_PIPELINE_STARTED,uo={appveyor:"APPVEYOR",azure:to,awsCodeBuild:ro,bamboo:oo,bitbucket:"BITBUCKET_BUILD_NUMBER",buildkite:"BUILDKITE",circle:"CIRCLECI",codeshipBasic:no,codeshipPro:io,concourse:so,codeFresh:"CF_BUILD_ID",drone:"DRONE",githubActions:"GITHUB_ACTIONS",gitlab:ao,goCD:"GO_JOB_NAME",googleCloud:co,jenkins:po,semaphore:"SEMAPHORE",shippable:"SHIPPABLE",teamcity:"TEAMCITY_VERSION",teamfoundation:eo,travis:"TRAVIS",wercker:mo,netlify:"NETLIFY",layerci:"LAYERCI"};function lo(){let{env:e}=process;return(0,u.findKey)(uo,t=>{if((0,u.isString)(t))return e[t];if((0,u.isFunction)(t))return t()})}var ct=()=>({appveyor:p(["APPVEYOR_JOB_ID","APPVEYOR_ACCOUNT_NAME","APPVEYOR_PROJECT_SLUG","APPVEYOR_BUILD_NUMBER","APPVEYOR_BUILD_VERSION","APPVEYOR_PULL_REQUEST_NUMBER","APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH"]),azure:p(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID","BUILD_REPOSITORY_URI","SYSTEM_TEAMPROJECT","SYSTEM_COLLECTIONURI"]),awsCodeBuild:p(["CODEBUILD_BUILD_ID","CODEBUILD_BUILD_NUMBER","CODEBUILD_RESOLVED_SOURCE_VERSION","CODEBUILD_SOURCE_REPO_URL","CODEBUILD_SOURCE_VERSION"]),bamboo:p(["bamboo_buildNumber","bamboo_buildResultsUrl","bamboo_planRepository_repositoryUrl","bamboo_buildKey"]),bitbucket:p(["BITBUCKET_REPO_SLUG","BITBUCKET_REPO_OWNER","BITBUCKET_BUILD_NUMBER","BITBUCKET_PARALLEL_STEP","BITBUCKET_STEP_RUN_NUMBER","BITBUCKET_PR_ID","BITBUCKET_PR_DESTINATION_BRANCH","BITBUCKET_PR_DESTINATION_COMMIT"]),buildkite:p(["BUILDKITE_REPO","BUILDKITE_SOURCE","BUILDKITE_JOB_ID","BUILDKITE_BUILD_ID","BUILDKITE_BUILD_URL","BUILDKITE_BUILD_NUMBER","BUILDKITE_PULL_REQUEST","BUILDKITE_PULL_REQUEST_REPO","BUILDKITE_PULL_REQUEST_BASE_BRANCH"]),circle:p(["CIRCLE_JOB","CIRCLE_BUILD_NUM","CIRCLE_BUILD_URL","CIRCLE_PR_NUMBER","CIRCLE_PR_REPONAME","CIRCLE_PR_USERNAME","CIRCLE_COMPARE_URL","CIRCLE_WORKFLOW_ID","CIRCLE_PULL_REQUEST","CIRCLE_REPOSITORY_URL","CI_PULL_REQUEST"]),codeshipBasic:p(["CI_BUILD_ID","CI_REPO_NAME","CI_BUILD_URL","CI_PROJECT_ID","CI_BUILD_NUMBER","CI_PULL_REQUEST"]),codeshipPro:p(["CI_BUILD_ID","CI_REPO_NAME","CI_PROJECT_ID"]),concourse:p(["BUILD_ID","BUILD_NAME","BUILD_JOB_NAME","BUILD_PIPELINE_NAME","BUILD_TEAM_NAME","ATC_EXTERNAL_URL"]),codeFresh:p(["CF_BUILD_ID","CF_BUILD_URL","CF_CURRENT_ATTEMPT","CF_STEP_NAME","CF_PIPELINE_NAME","CF_PIPELINE_TRIGGER_ID","CF_PULL_REQUEST_ID","CF_PULL_REQUEST_IS_FORK","CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_TARGET"]),drone:p(["DRONE_JOB_NUMBER","DRONE_BUILD_LINK","DRONE_BUILD_NUMBER","DRONE_PULL_REQUEST"]),githubActions:p(["GITHUB_WORKFLOW","GITHUB_ACTION","GITHUB_EVENT_NAME","GITHUB_RUN_ID","GITHUB_RUN_ATTEMPT","GITHUB_REPOSITORY"]),gitlab:p(["CI_PIPELINE_ID","CI_PIPELINE_URL","CI_BUILD_ID","CI_JOB_ID","CI_JOB_URL","CI_JOB_NAME","GITLAB_HOST","CI_PROJECT_ID","CI_PROJECT_URL","CI_REPOSITORY_URL","CI_ENVIRONMENT_URL","CI_DEFAULT_BRANCH"]),goCD:p(["GO_SERVER_URL","GO_ENVIRONMENT_NAME","GO_PIPELINE_NAME","GO_PIPELINE_COUNTER","GO_PIPELINE_LABEL","GO_STAGE_NAME","GO_STAGE_COUNTER","GO_JOB_NAME","GO_TRIGGER_USER","GO_REVISION","GO_TO_REVISION","GO_FROM_REVISION","GO_MATERIAL_HAS_CHANGED"]),googleCloud:p(["BUILD_ID","PROJECT_ID","REPO_NAME","BRANCH_NAME","TAG_NAME","COMMIT_SHA","SHORT_SHA"]),jenkins:p(["BUILD_ID","BUILD_URL","BUILD_NUMBER","ghprbPullId"]),semaphore:p(["SEMAPHORE_BRANCH_ID","SEMAPHORE_BUILD_NUMBER","SEMAPHORE_CURRENT_JOB","SEMAPHORE_CURRENT_THREAD","SEMAPHORE_EXECUTABLE_UUID","SEMAPHORE_GIT_BRANCH","SEMAPHORE_GIT_DIR","SEMAPHORE_GIT_REF","SEMAPHORE_GIT_REF_TYPE","SEMAPHORE_GIT_REPO_SLUG","SEMAPHORE_GIT_SHA","SEMAPHORE_GIT_URL","SEMAPHORE_JOB_COUNT","SEMAPHORE_JOB_ID","SEMAPHORE_JOB_NAME","SEMAPHORE_JOB_UUID","SEMAPHORE_PIPELINE_ID","SEMAPHORE_PLATFORM","SEMAPHORE_PROJECT_DIR","SEMAPHORE_PROJECT_HASH_ID","SEMAPHORE_PROJECT_ID","SEMAPHORE_PROJECT_NAME","SEMAPHORE_PROJECT_UUID","SEMAPHORE_REPO_SLUG","SEMAPHORE_TRIGGER_SOURCE","SEMAPHORE_WORKFLOW_ID","PULL_REQUEST_NUMBER"]),shippable:p(["SHIPPABLE_BUILD_ID","SHIPPABLE_BUILD_NUMBER","SHIPPABLE_COMMIT_RANGE","SHIPPABLE_CONTAINER_NAME","SHIPPABLE_JOB_ID","SHIPPABLE_JOB_NUMBER","SHIPPABLE_REPO_SLUG","IS_FORK","IS_GIT_TAG","IS_PRERELEASE","IS_RELEASE","REPOSITORY_URL","REPO_FULL_NAME","REPO_NAME","BUILD_URL","BASE_BRANCH","HEAD_BRANCH","IS_PULL_REQUEST","PULL_REQUEST","PULL_REQUEST_BASE_BRANCH","PULL_REQUEST_REPO_FULL_NAME"]),teamcity:null,teamfoundation:p(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID"]),travis:p(["TRAVIS_JOB_ID","TRAVIS_BUILD_ID","TRAVIS_BUILD_WEB_URL","TRAVIS_REPO_SLUG","TRAVIS_JOB_NUMBER","TRAVIS_EVENT_TYPE","TRAVIS_COMMIT_RANGE","TRAVIS_BUILD_NUMBER","TRAVIS_PULL_REQUEST","TRAVIS_PULL_REQUEST_BRANCH","TRAVIS_PULL_REQUEST_SHA"]),wercker:null,netlify:p(["BUILD_ID","CONTEXT","URL","DEPLOY_URL","DEPLOY_PRIME_URL","DEPLOY_ID"]),layerci:p(["LAYERCI_JOB_ID","LAYERCI_RUNNER_ID","RETRY_INDEX","LAYERCI_PULL_REQUEST","LAYERCI_REPO_NAME","LAYERCI_REPO_OWNER","LAYERCI_BRANCH","GIT_TAG"])}),go=()=>{let{env:e}=process;return{appveyor:{sha:e.APPVEYOR_REPO_COMMIT,branch:e.APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH||e.APPVEYOR_REPO_BRANCH,message:Xr(`
|
|
13
13
|
`,e.APPVEYOR_REPO_COMMIT_MESSAGE,e.APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED),authorName:e.APPVEYOR_REPO_COMMIT_AUTHOR,authorEmail:e.APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL},awsCodeBuild:{sha:e.CODEBUILD_RESOLVED_SOURCE_VERSION,remoteOrigin:e.CODEBUILD_SOURCE_REPO_URL},azure:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR,authorEmail:e.BUILD_REQUESTEDFOREMAIL},bamboo:{sha:e.bamboo_planRepository_revision,branch:e.bamboo_planRepository_branch,authorName:e.bamboo_planRepository_username,remoteOrigin:e.bamboo_planRepository_repositoryURL},bitbucket:{sha:e.BITBUCKET_COMMIT,branch:e.BITBUCKET_BRANCH},buildkite:{sha:e.BUILDKITE_COMMIT,branch:e.BUILDKITE_BRANCH,message:e.BUILDKITE_MESSAGE,authorName:e.BUILDKITE_BUILD_CREATOR,authorEmail:e.BUILDKITE_BUILD_CREATOR_EMAIL,remoteOrigin:e.BUILDKITE_REPO,defaultBranch:e.BUILDKITE_PIPELINE_DEFAULT_BRANCH},circle:{sha:e.CIRCLE_SHA1,branch:e.CIRCLE_BRANCH,authorName:e.CIRCLE_USERNAME,remoteOrigin:e.CIRCLE_REPOSITORY_URL},codeshipBasic:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeshipPro:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeFresh:{sha:e.CF_REVISION,branch:e.CF_BRANCH,message:e.CF_COMMIT_MESSAGE,authorName:e.CF_COMMIT_AUTHOR},drone:{sha:e.DRONE_COMMIT_SHA,branch:e.DRONE_SOURCE_BRANCH,message:e.DRONE_COMMIT_MESSAGE,authorName:e.DRONE_COMMIT_AUTHOR,authorEmail:e.DRONE_COMMIT_AUTHOR_EMAIL,remoteOrigin:e.DRONE_GIT_HTTP_URL,defaultBranch:e.DRONE_REPO_BRANCH},githubActions:{sha:e.GITHUB_SHA,branch:e.GH_BRANCH||e.GITHUB_REF,defaultBranch:e.GITHUB_BASE_REF,remoteBranch:e.GITHUB_HEAD_REF,runAttempt:e.GITHUB_RUN_ATTEMPT},gitlab:{sha:e.CI_COMMIT_SHA,branch:e.CI_COMMIT_REF_NAME,message:e.CI_COMMIT_MESSAGE,authorName:e.GITLAB_USER_NAME,authorEmail:e.GITLAB_USER_EMAIL,remoteOrigin:e.CI_REPOSITORY_URL,defaultBranch:e.CI_DEFAULT_BRANCH},googleCloud:{sha:e.COMMIT_SHA,branch:e.BRANCH_NAME},jenkins:{sha:e.GIT_COMMIT,branch:e.GIT_BRANCH},semaphore:{sha:e.SEMAPHORE_GIT_SHA,branch:e.SEMAPHORE_GIT_BRANCH,remoteOrigin:e.SEMAPHORE_GIT_REPO_SLUG},shippable:{sha:e.COMMIT,branch:e.BRANCH,message:e.COMMIT_MESSAGE,authorName:e.COMMITTER},snap:null,teamcity:null,teamfoundation:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR},travis:{sha:e.TRAVIS_PULL_REQUEST_SHA||e.TRAVIS_COMMIT,branch:e.TRAVIS_PULL_REQUEST_BRANCH||e.TRAVIS_BRANCH,message:e.TRAVIS_COMMIT_MESSAGE},wercker:null,netlify:{sha:e.COMMIT_REF,branch:e.BRANCH,remoteOrigin:e.REPOSITORY_URL},layerci:{sha:e.GIT_COMMIT,branch:e.LAYERCI_BRANCH,message:e.GIT_COMMIT_TITLE}}},pt=e=>{let t=mt();return t?(0,u.chain)(e()).get(t).value():{}};function fo(){return(0,u.chain)(ct()).omitBy(u.isNull).keys().value()}function Eo(e){return e&&fo().includes(e)}function mt(){let e=lo();return Q("detected CI provider name: %s",e),e||null}function Ro(){return pt(ct)}function ut(){return pt(go)}function dt(e){let t=Ro(),r=mt(),i=_o(e,r);return Q("detected CI provider: %s",r),Q("detected CI params: %O",t),Q("detected CI build ID: %o",i),{params:t,provider:r,ciBuildId:i}}function _o(e,t){return e?{source:"user",value:e}:Eo(t)?{source:"server",value:null}:{source:"random",value:`auto:${fe()}`}}var gt=require("@currents/commit-info"),ft=require("lodash");var W=require("lodash");var Te=s.extend("ci-git");function lt(e){Te("git commit existing info: %O",e);let t=ut();Te("commit info from provider environment variables: %O",t);let r=(0,W.transform)(e,(i,n,a)=>{let d=n||(t?t[a]:null);return i[a]=(0,W.defaultTo)(d,null)});return Te("combined git and environment variables from provider: %O",r),r}var Io=async()=>{let e=await(0,gt.commitInfo)();return lt({branch:e.branch,remoteOrigin:e.remote,authorEmail:e.email,authorName:e.author,message:e.message,sha:e.sha,ghaEventData:e.ghaEventData})},Et=(0,ft.memoize)(Io);var Rt=c(require("getos")),_t=require("lodash"),T=require("os"),It=require("util"),Co=async()=>{if((0,T.platform)()==="linux")try{let e=await(0,It.promisify)(Rt.default)();return"dist"in e&&"release"in e?[e.dist,e.release].join(" - "):(0,T.release)()}catch{return(0,T.release)()}return(0,T.release)()},To=async()=>{let e=await Co();return{osName:(0,T.platform)(),osVersion:e,osCpus:[],osMemory:{free:(0,T.freemem)(),total:(0,T.totalmem)()}}},Ct=(0,_t.memoize)(To);var $t=require("lodash"),re=c(require("path")),Jt=c(require("semver"));var ht=require("util"),Ot=require("zlib");var Tt=s.extend("api"),ho=(0,ht.promisify)(Ot.gzip);async function Pt(e){try{Tt("Run params: %o",e);let t=await Oo(JSON.stringify(e));return q("api",{url:"v1/runs",method:"POST",headers:{"Content-Type":"application/json","Content-Encoding":"gzip"},data:t}).then(r=>r.data)}catch(t){throw Tt("Failed to create the run:",t),t}}async function Oo(e){try{return await ho(e)}catch(t){throw m("Failed to compress run payload:",t),t}}var f={debug:{name:"Debug",env:"CURRENTS_DEBUG",cli:"--debug"},ciBuildId:{name:"CI Build ID",env:"CURRENTS_CI_BUILD_ID",cli:"--ci-build-id"},recordKey:{name:"Record Key",env:"CURRENTS_RECORD_KEY",cli:"--key"},projectId:{name:"Project ID",env:"CURRENTS_PROJECT_ID",cli:"--project-id"},tag:{name:"Currents Tag",env:"CURRENTS_TAG",cli:"--tag"},disableTitleTags:{name:"Disable Title Tags",env:"CURRENTS_DISABLE_TITLE_TAGS",cli:"--disable-title-tags"},removeTitleTags:{name:"Remove Title Tags",env:"CURRENTS_REMOVE_TITLE_TAGS",cli:"--remove-title-tags"},machineId:{name:"Machine ID",env:"CURRENTS_MACHINE_ID",cli:"--machine-id"},reportDir:{name:"Report Directory",env:"CURRENTS_REPORT_DIR",cli:"--report-dir"}};function At(){return{projectId:process.env[f.projectId.env],recordKey:process.env[f.recordKey.env],ciBuildId:process.env[f.ciBuildId.env],tag:process.env[f.tag.env]?process.env[f.tag.env]?.split(",").map(e=>e.trim()):void 0,disableTitleTags:!!process.env[f.disableTitleTags.env],removeTitleTags:!!process.env[f.removeTitleTags.env],debug:!!process.env[f.debug.env],machineId:process.env[f.machineId.env]}}var Po=s.extend("config"),Ao=["projectId","recordKey"],he=null;function Ut(e){he=j(f,Ao,At,e),Po("Resolved Currents config: %o",he)}function z(){return he}function bt(e){return{ciBuildId:e.ciBuildId,projectId:e.projectId,recordKey:e.key,tag:e.tag,removeTitleTags:e.removeTitleTags,disableTitleTags:e.disableTitleTags,debug:e.debug,machineId:e.machineId,reportDir:e.reportDir}}var Ft=c(require("fs-extra")),Ht=require("jest-cli"),kt=c(require("tmp"));var vt=require("lodash");var St=require("lodash"),Uo=["bail","clearCache","collectCoverage","collectCoverageFrom","color","colors","config","coverage","coverageDirectory","coveragePathIgnorePatterns","coverageProvider","coverageReporters","coverageThreshold","debug","detectLeaks","detectOpenHandles","errorOnDeprecated","expand","forceExit","json","listTests","logHeapUsage","noStackTrace","notify","notifyMode","openHandlesTimeout","outputFile","reporters","runner","shard","showConfig","showSeed","silent","testNamePattern","verbose","waitNextEventLoopTurnForUnhandledRejectionEvents","watch","watchAll","watchPathIgnorePatterns","watchman"];function yt(e){return(0,St.omit)(e,...Uo)}function Lt(e){let t=[];for(let[r,i]of Object.entries(e))r==="_"||r==="$0"||r.includes("-")||(typeof i=="boolean"?i&&t.push(`--${r}`):Array.isArray(i)?i.forEach(n=>{t.push(`--${r}=${n}`)}):t.push(`--${r}=${i}`));return t.join(" ")}var Bt=c(require("fs")),xt=require("jest-config"),Oe=require("lodash"),Pe=c(require("path"));function X(e,t){return(...r)=>new Promise((i,n)=>{let a=0,d=()=>{a++;try{let l=e(...r);i(l)}catch(l){if(a>=t.length)n(l);else{let R=t[a-1];setTimeout(d,R)}}};d()})}var Nt=c(require("fs-extra")),bo=c(require("path"));async function Z(e){let t=await Nt.default.pathExists(e);if(!t)throw new Error("File does not exist");return t}var Dt=s.extend("jest-discovery");async function wt(e){try{let{config:t,configPath:r}=await(0,xt.readInitialOptions)(e),i=["collectCoverage","collectCoverageFrom","coverageDirectory","coveragePathIgnorePatterns","coverageProvider","coverageReporters","coverageThreshold","errorOnDeprecated","forceCoverageMatch","notify","notifyMode","openHandlesTimeout","reporters","runner","showSeed","testFailureExitCode","verbose","watchPathIgnorePatterns","watchPlugins","watchman","bail","clearCache","color","colors","debug","detectLeaks","detectOpenHandles","expand","forceExit","json","listTests","logHeapUsage","noStackTrace","outputFile","shard","showConfig","silent","testNamePattern","waitNextEventLoopTurnForUnhandledRejectionEvents","watch","watchAll"],n=["collectCoverageFrom","coverageDirectory","coveragePathIgnorePatterns","detectLeaks","detectOpenHandles","errorOnDeprecated","forceCoverageMatch","openHandlesTimeout","runner","watchPathIgnorePatterns"],a=(0,Oe.omit)(t,i);if(a.projects&&(a.projects=a.projects.map(R=>typeof R!="string"?(0,Oe.omit)(R,n):R)),a.rootDir&&Object.keys(a).length===1)return null;let d=Pe.default.resolve(r?Pe.default.dirname(r):process.cwd(),`.jest-scanner-${new Date().getTime()}.config.js`),l=`module.exports=${JSON.stringify(a,null,2)}`;return Dt("configFileContent: %O",l),Bt.default.writeFileSync(d,l),await X(Z,[200,200,200,200,200,1e3])(d),d}catch(t){return m("Failed to recreate the config file"),Dt("error %o",t),null}}async function Mt(e){let t="!!##ThisPatternWillNotMatchAnyTestName##!!",r=e.options,i=yt(r),n=Lt(i),a=r.config,d=await wt(a);return{cliArgs:[n,"--testNamePattern",t,"--reporters","@currents/cmd/discovery/jest","--shard=1/1",d?`--config=${d}`:"",...e.args].filter(R=>!(0,vt.isEmpty)(R)),configFilePath:d}}var So=s.extend("jest-discovery");async function Gt(e,t){console.time(I("@currents/jest:fullTestSuite-ready"));let{cliArgs:r,configFilePath:i}=await Mt(t);try{let n=kt.default.fileSync({postfix:".json"});return So("running scanner: %o",r),process.env.CURRENTS_DISCOVERY_PATH=n.name,await(0,Ht.run)(r.concat(["--openHandlesTimeout=0"])),await X(Z,Array.from({length:300},()=>100))(n.name),console.timeEnd(I("@currents/jest:fullTestSuite-ready")),await N(n.name)}catch(n){return m("Failed to obtain the jest full test suite:",n),[]}finally{i&&Ft.default.unlinkSync(i)}}var x=class{constructor(t){this.config=t}async getFullTestSuite(){return[]}};var ee=class extends x{constructor(t){super(t)}async getFullTestSuite(){return Gt(this.config.frameworkConfig,this.config.cliArgs)}};function jt(e){switch(e.framework){case"jest":return new ee(e);default:return new x(e)}}var w=c(require("fs-extra")),A=c(require("path"));async function Kt(e){let t=await yo(e?.reportDir);if(!t)throw new Error("Failed to find the report dir");return{reportDir:t,configFilePath:e?.configFilePath??A.default.join(t,"config.json")}}async function yo(e){return e?(await te(e),e):Lo((0,A.join)(process.cwd(),".currents"))}async function Lo(e){let t=await w.default.readdir(e),r=null;for(let i of t){let n=A.default.join(e,i),a=await w.default.stat(n);a.isDirectory()&&(!r||a.birthtime>r.birthtime)&&(r={name:i,birthtime:a.birthtime})}return r?(0,A.resolve)(e,r.name):null}async function te(e){try{return await w.default.pathExists(e)}catch{return m("Error checking if path exists:",m),!1}}async function Vt(e){let t=A.default.join(e,"instances");return No(t)}async function No(e){let t=await w.default.readdir(e),r=[];for(let i of t){let n=A.default.join(e,i);(await w.default.stat(n)).isFile()&&r.push(n)}return r}async function Ae(){let e=z();if(!e)throw new Error("Currents config is missing!");e.debug&&k();let t=await Kt(e);Ne(wo(t.reportDir)),s("Reporter options: %o",t),L("Report directory: %s",t.reportDir);let r=await N(t.configFilePath);s("Report config: %o",r);let i=await Vt(t.reportDir);s("Found %d instance results in the reportDir: %s",i.length,t.reportDir);let n=Bo(t.reportDir),a=await te(n),d=xo(t.reportDir),l=null;if(a){let h=await N(n);g("Marker file detected. The report was already uploaded: %o",{runUrl:h.response.runUrl,isoDate:h.isoDate}),await te(d)&&(l=await N(d),s("Full test suite file detected: %s",d))}if(l)s("The discovery stage was skipped");else{if(l=await jt(r).getFullTestSuite(),vo(l))throw new Error("Failed to discover the full test suite!");await le(d,JSON.stringify(l))}let R=l.length===1?l[0].name:null,ae={currents:e},D={type:r.framework,version:r.frameworkVersion,clientVersion:H},ye=$.userFacingNanoid(),F=dt(e.ciBuildId),S={};for await(let h of i){let P=await N(h);S[P.groupId]||(S[P.groupId]=[]),S[P.groupId].push(P)}for await(let h of Object.keys(S)){let P=S[h],ce=h;R&&(s("Default group found: %s, overwriting the group in the results",R),ce=R,P=P.map(y=>({...y,groupId:R})));try{let y=await Do({ci:F,group:ce,instances:P,fullTestSuite:l,config:ae,machineId:ye,framework:D});s("Api response: %o",y),L("[%s] Run created: %s",ce,y.runUrl);let Pr={response:y,isoDate:new Date().toISOString()};await le(n,JSON.stringify(Pr)),s("Marker file %s: %s",a?"overwritten":"created",n)}catch(y){throw s("Failed to upload the results to the dashboard"),y}}}async function Do({ci:e,group:t,instances:r,fullTestSuite:i,config:n,machineId:a,framework:d}){let l=await Et(),R=await Ct(),ae={browserName:"node",browserVersion:Jt.default.coerce(process.version)?.version},{currents:D}=n,F={platform:{...ae,...R},ci:e,commit:l,group:t,fullTestSuite:i,config:n,projectId:D.projectId,recordKey:D.recordKey,ciBuildId:e.ciBuildId.value??void 0,tags:D.tag??[],machineId:D.machineId??a,framework:d,instances:r};return s("Creating run: %o",(0,$t.mapValues)(F,(S,h)=>h==="recordKey"?"******":S)),Pt(F)}function Bo(e){return re.default.join(e,"upload.marker.json")}function xo(e){return re.default.join(e,"fullTestSuite.json")}function wo(e){return re.default.join(e,`.debug-${new Date().toISOString()}.log`)}function vo(e){return e.length===0||e.some(t=>t.tests.length===0)}var Yt=require("@commander-js/extra-typings");var qt=require("axios");function oe(e,t=[]){return e?t.concat(e.split(",").map(r=>r.trim())):t}async function ne(e,t){try{await e(t),process.exit(0)}catch(r){r instanceof Yt.CommanderError&&(m(r.message),process.exit(r.exitCode)),r instanceof B&&(m(r.message),process.exit(1)),(0,qt.isAxiosError)(r)&&(m(r.message),process.exit(1)),m("Script execution failed: %o",r),process.exit(1)}}var Mo=s.extend("cli");async function Qt(e){await ne(async t=>{Me(t);let r=K();Mo("Config: %o",r),await Ce()},e)}var U=require("@commander-js/extra-typings");var Wt=new U.Option("--api-key <api-key>","API key from Currents dashboard for authentication").env(C(b,"apiKey")),zt=new U.Option("-o, --output <path>","Path to the file where output will be written").env(C(b,"output")),Xt=new U.Option("--ci-build-id <id>","Unique identifier for the run"),Zt=new U.Option("-p, --project-id <project>","Project ID from Currents associated with the run"),er=new U.Option("-t, --tag <tag>","Comma-separated list of tags for the run").argParser(oe),tr=new U.Option("--debug","Enable debug logging").env(C(b,"debug")).default(!1),rr=new U.Option("-b, --branch <branch>","Branch name for the recorded run"),or=new U.Option("--pw-last-failed",'Generate output formatted for Playwright ".last-run.json"');var ie="api",Fo=e=>`
|
|
14
14
|
----------------------------------------------------
|
|
15
15
|
\u{1F4D6} Documentation: https://docs.currents.dev
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";var Ct=Object.create;var D=Object.defineProperty;var Tt=Object.getOwnPropertyDescriptor;var ht=Object.getOwnPropertyNames;var Ot=Object.getPrototypeOf,Ut=Object.prototype.hasOwnProperty;var ie=(e,t)=>{for(var r in t)D(e,r,{get:t[r],enumerable:!0})},ae=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ht(t))!Ut.call(e,o)&&o!==r&&D(e,o,{get:()=>t[o],enumerable:!(n=Tt(t,o))||n.enumerable});return e};var u=(e,t,r)=>(r=e!=null?Ct(Ot(e)):{},ae(t||!e||!e.__esModule?D(r,"default",{value:e,enumerable:!0}):r,e)),Pt=e=>ae(D({},"__esModule",{value:!0}),e);var hr={};ie(hr,{handleCurrentsReport:()=>It});module.exports=Pt(hr);var J=require("debug"),At=u(require("fs-extra")),i=(0,J.debug)("currents"),St=null;function ce(){J.debug.enable("currents,currents:*")}function ue(e){St=e}var B={};ie(B,{getNanoid:()=>Lt,userFacingNanoid:()=>$});var Y=require("nanoid"),me="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Lt=(e=16)=>(0,Y.customAlphabet)(me,e)(),$=(0,Y.customAlphabet)(me,12);var m=require("lodash");var b=i.extend("ci"),Nt=(e,...t)=>(0,m.chain)(t).compact().join(e).value(),Dt=(e,t)=>(0,m.set)(e,(0,m.camelCase)(t),process.env[t]),c=e=>(0,m.transform)(e,Dt,{}),Bt=()=>process.env.TF_BUILD&&process.env.TF_BUILD_BUILDNUMBER,bt=()=>process.env.TF_BUILD&&process.env.AZURE_HTTP_USER_AGENT,yt=()=>(0,m.some)(process.env,(e,t)=>/^CODEBUILD_/.test(t)),Mt=()=>process.env.bamboo_buildNumber,vt=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&process.env.CODESHIP,xt=()=>process.env.CI_NAME&&process.env.CI_NAME==="codeship"&&!process.env.CODESHIP,wt=()=>(0,m.some)(process.env,(e,t)=>/^CONCOURSE_/.test(t)),Ht=()=>process.env.GITLAB_CI||process.env.CI_SERVER_NAME&&/^GitLab/.test(process.env.CI_SERVER_NAME),Ft=()=>process.env.GCP_PROJECT||process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT,Gt=()=>process.env.JENKINS_URL||process.env.JENKINS_HOME||process.env.JENKINS_VERSION||process.env.HUDSON_URL||process.env.HUDSON_HOME,kt=()=>process.env.WERCKER||process.env.WERCKER_MAIN_PIPELINE_STARTED,jt={appveyor:"APPVEYOR",azure:bt,awsCodeBuild:yt,bamboo:Mt,bitbucket:"BITBUCKET_BUILD_NUMBER",buildkite:"BUILDKITE",circle:"CIRCLECI",codeshipBasic:vt,codeshipPro:xt,concourse:wt,codeFresh:"CF_BUILD_ID",drone:"DRONE",githubActions:"GITHUB_ACTIONS",gitlab:Ht,goCD:"GO_JOB_NAME",googleCloud:Ft,jenkins:Gt,semaphore:"SEMAPHORE",shippable:"SHIPPABLE",teamcity:"TEAMCITY_VERSION",teamfoundation:Bt,travis:"TRAVIS",wercker:kt,netlify:"NETLIFY",layerci:"LAYERCI"};function Vt(){let{env:e}=process;return(0,m.findKey)(jt,t=>{if((0,m.isString)(t))return e[t];if((0,m.isFunction)(t))return t()})}var le=()=>({appveyor:c(["APPVEYOR_JOB_ID","APPVEYOR_ACCOUNT_NAME","APPVEYOR_PROJECT_SLUG","APPVEYOR_BUILD_NUMBER","APPVEYOR_BUILD_VERSION","APPVEYOR_PULL_REQUEST_NUMBER","APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH"]),azure:c(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID","BUILD_REPOSITORY_URI","SYSTEM_TEAMPROJECT","SYSTEM_COLLECTIONURI"]),awsCodeBuild:c(["CODEBUILD_BUILD_ID","CODEBUILD_BUILD_NUMBER","CODEBUILD_RESOLVED_SOURCE_VERSION","CODEBUILD_SOURCE_REPO_URL","CODEBUILD_SOURCE_VERSION"]),bamboo:c(["bamboo_buildNumber","bamboo_buildResultsUrl","bamboo_planRepository_repositoryUrl","bamboo_buildKey"]),bitbucket:c(["BITBUCKET_REPO_SLUG","BITBUCKET_REPO_OWNER","BITBUCKET_BUILD_NUMBER","BITBUCKET_PARALLEL_STEP","BITBUCKET_STEP_RUN_NUMBER","BITBUCKET_PR_ID","BITBUCKET_PR_DESTINATION_BRANCH","BITBUCKET_PR_DESTINATION_COMMIT"]),buildkite:c(["BUILDKITE_REPO","BUILDKITE_SOURCE","BUILDKITE_JOB_ID","BUILDKITE_BUILD_ID","BUILDKITE_BUILD_URL","BUILDKITE_BUILD_NUMBER","BUILDKITE_PULL_REQUEST","BUILDKITE_PULL_REQUEST_REPO","BUILDKITE_PULL_REQUEST_BASE_BRANCH"]),circle:c(["CIRCLE_JOB","CIRCLE_BUILD_NUM","CIRCLE_BUILD_URL","CIRCLE_PR_NUMBER","CIRCLE_PR_REPONAME","CIRCLE_PR_USERNAME","CIRCLE_COMPARE_URL","CIRCLE_WORKFLOW_ID","CIRCLE_PULL_REQUEST","CIRCLE_REPOSITORY_URL","CI_PULL_REQUEST"]),codeshipBasic:c(["CI_BUILD_ID","CI_REPO_NAME","CI_BUILD_URL","CI_PROJECT_ID","CI_BUILD_NUMBER","CI_PULL_REQUEST"]),codeshipPro:c(["CI_BUILD_ID","CI_REPO_NAME","CI_PROJECT_ID"]),concourse:c(["BUILD_ID","BUILD_NAME","BUILD_JOB_NAME","BUILD_PIPELINE_NAME","BUILD_TEAM_NAME","ATC_EXTERNAL_URL"]),codeFresh:c(["CF_BUILD_ID","CF_BUILD_URL","CF_CURRENT_ATTEMPT","CF_STEP_NAME","CF_PIPELINE_NAME","CF_PIPELINE_TRIGGER_ID","CF_PULL_REQUEST_ID","CF_PULL_REQUEST_IS_FORK","CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_TARGET"]),drone:c(["DRONE_JOB_NUMBER","DRONE_BUILD_LINK","DRONE_BUILD_NUMBER","DRONE_PULL_REQUEST"]),githubActions:c(["GITHUB_WORKFLOW","GITHUB_ACTION","GITHUB_EVENT_NAME","GITHUB_RUN_ID","GITHUB_RUN_ATTEMPT","GITHUB_REPOSITORY"]),gitlab:c(["CI_PIPELINE_ID","CI_PIPELINE_URL","CI_BUILD_ID","CI_JOB_ID","CI_JOB_URL","CI_JOB_NAME","GITLAB_HOST","CI_PROJECT_ID","CI_PROJECT_URL","CI_REPOSITORY_URL","CI_ENVIRONMENT_URL","CI_DEFAULT_BRANCH"]),goCD:c(["GO_SERVER_URL","GO_ENVIRONMENT_NAME","GO_PIPELINE_NAME","GO_PIPELINE_COUNTER","GO_PIPELINE_LABEL","GO_STAGE_NAME","GO_STAGE_COUNTER","GO_JOB_NAME","GO_TRIGGER_USER","GO_REVISION","GO_TO_REVISION","GO_FROM_REVISION","GO_MATERIAL_HAS_CHANGED"]),googleCloud:c(["BUILD_ID","PROJECT_ID","REPO_NAME","BRANCH_NAME","TAG_NAME","COMMIT_SHA","SHORT_SHA"]),jenkins:c(["BUILD_ID","BUILD_URL","BUILD_NUMBER","ghprbPullId"]),semaphore:c(["SEMAPHORE_BRANCH_ID","SEMAPHORE_BUILD_NUMBER","SEMAPHORE_CURRENT_JOB","SEMAPHORE_CURRENT_THREAD","SEMAPHORE_EXECUTABLE_UUID","SEMAPHORE_GIT_BRANCH","SEMAPHORE_GIT_DIR","SEMAPHORE_GIT_REF","SEMAPHORE_GIT_REF_TYPE","SEMAPHORE_GIT_REPO_SLUG","SEMAPHORE_GIT_SHA","SEMAPHORE_GIT_URL","SEMAPHORE_JOB_COUNT","SEMAPHORE_JOB_ID","SEMAPHORE_JOB_NAME","SEMAPHORE_JOB_UUID","SEMAPHORE_PIPELINE_ID","SEMAPHORE_PLATFORM","SEMAPHORE_PROJECT_DIR","SEMAPHORE_PROJECT_HASH_ID","SEMAPHORE_PROJECT_ID","SEMAPHORE_PROJECT_NAME","SEMAPHORE_PROJECT_UUID","SEMAPHORE_REPO_SLUG","SEMAPHORE_TRIGGER_SOURCE","SEMAPHORE_WORKFLOW_ID","PULL_REQUEST_NUMBER"]),shippable:c(["SHIPPABLE_BUILD_ID","SHIPPABLE_BUILD_NUMBER","SHIPPABLE_COMMIT_RANGE","SHIPPABLE_CONTAINER_NAME","SHIPPABLE_JOB_ID","SHIPPABLE_JOB_NUMBER","SHIPPABLE_REPO_SLUG","IS_FORK","IS_GIT_TAG","IS_PRERELEASE","IS_RELEASE","REPOSITORY_URL","REPO_FULL_NAME","REPO_NAME","BUILD_URL","BASE_BRANCH","HEAD_BRANCH","IS_PULL_REQUEST","PULL_REQUEST","PULL_REQUEST_BASE_BRANCH","PULL_REQUEST_REPO_FULL_NAME"]),teamcity:null,teamfoundation:c(["BUILD_BUILDID","BUILD_BUILDNUMBER","BUILD_CONTAINERID"]),travis:c(["TRAVIS_JOB_ID","TRAVIS_BUILD_ID","TRAVIS_BUILD_WEB_URL","TRAVIS_REPO_SLUG","TRAVIS_JOB_NUMBER","TRAVIS_EVENT_TYPE","TRAVIS_COMMIT_RANGE","TRAVIS_BUILD_NUMBER","TRAVIS_PULL_REQUEST","TRAVIS_PULL_REQUEST_BRANCH","TRAVIS_PULL_REQUEST_SHA"]),wercker:null,netlify:c(["BUILD_ID","CONTEXT","URL","DEPLOY_URL","DEPLOY_PRIME_URL","DEPLOY_ID"]),layerci:c(["LAYERCI_JOB_ID","LAYERCI_RUNNER_ID","RETRY_INDEX","LAYERCI_PULL_REQUEST","LAYERCI_REPO_NAME","LAYERCI_REPO_OWNER","LAYERCI_BRANCH","GIT_TAG"])}),Kt=()=>{let{env:e}=process;return{appveyor:{sha:e.APPVEYOR_REPO_COMMIT,branch:e.APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH||e.APPVEYOR_REPO_BRANCH,message:Nt(`
|
|
2
|
-
`,e.APPVEYOR_REPO_COMMIT_MESSAGE,e.APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED),authorName:e.APPVEYOR_REPO_COMMIT_AUTHOR,authorEmail:e.APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL},awsCodeBuild:{sha:e.CODEBUILD_RESOLVED_SOURCE_VERSION,remoteOrigin:e.CODEBUILD_SOURCE_REPO_URL},azure:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR,authorEmail:e.BUILD_REQUESTEDFOREMAIL},bamboo:{sha:e.bamboo_planRepository_revision,branch:e.bamboo_planRepository_branch,authorName:e.bamboo_planRepository_username,remoteOrigin:e.bamboo_planRepository_repositoryURL},bitbucket:{sha:e.BITBUCKET_COMMIT,branch:e.BITBUCKET_BRANCH},buildkite:{sha:e.BUILDKITE_COMMIT,branch:e.BUILDKITE_BRANCH,message:e.BUILDKITE_MESSAGE,authorName:e.BUILDKITE_BUILD_CREATOR,authorEmail:e.BUILDKITE_BUILD_CREATOR_EMAIL,remoteOrigin:e.BUILDKITE_REPO,defaultBranch:e.BUILDKITE_PIPELINE_DEFAULT_BRANCH},circle:{sha:e.CIRCLE_SHA1,branch:e.CIRCLE_BRANCH,authorName:e.CIRCLE_USERNAME,remoteOrigin:e.CIRCLE_REPOSITORY_URL},codeshipBasic:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeshipPro:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeFresh:{sha:e.CF_REVISION,branch:e.CF_BRANCH,message:e.CF_COMMIT_MESSAGE,authorName:e.CF_COMMIT_AUTHOR},drone:{sha:e.DRONE_COMMIT_SHA,branch:e.DRONE_SOURCE_BRANCH,message:e.DRONE_COMMIT_MESSAGE,authorName:e.DRONE_COMMIT_AUTHOR,authorEmail:e.DRONE_COMMIT_AUTHOR_EMAIL,remoteOrigin:e.DRONE_GIT_HTTP_URL,defaultBranch:e.DRONE_REPO_BRANCH},githubActions:{sha:e.GITHUB_SHA,branch:e.GH_BRANCH||e.GITHUB_REF,defaultBranch:e.GITHUB_BASE_REF,remoteBranch:e.GITHUB_HEAD_REF,runAttempt:e.GITHUB_RUN_ATTEMPT},gitlab:{sha:e.CI_COMMIT_SHA,branch:e.CI_COMMIT_REF_NAME,message:e.CI_COMMIT_MESSAGE,authorName:e.GITLAB_USER_NAME,authorEmail:e.GITLAB_USER_EMAIL,remoteOrigin:e.CI_REPOSITORY_URL,defaultBranch:e.CI_DEFAULT_BRANCH},googleCloud:{sha:e.COMMIT_SHA,branch:e.BRANCH_NAME},jenkins:{sha:e.GIT_COMMIT,branch:e.GIT_BRANCH},semaphore:{sha:e.SEMAPHORE_GIT_SHA,branch:e.SEMAPHORE_GIT_BRANCH,remoteOrigin:e.SEMAPHORE_GIT_REPO_SLUG},shippable:{sha:e.COMMIT,branch:e.BRANCH,message:e.COMMIT_MESSAGE,authorName:e.COMMITTER},snap:null,teamcity:null,teamfoundation:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR},travis:{sha:e.TRAVIS_PULL_REQUEST_SHA||e.TRAVIS_COMMIT,branch:e.TRAVIS_PULL_REQUEST_BRANCH||e.TRAVIS_BRANCH,message:e.TRAVIS_COMMIT_MESSAGE},wercker:null,netlify:{sha:e.COMMIT_REF,branch:e.BRANCH,remoteOrigin:e.REPOSITORY_URL},layerci:{sha:e.GIT_COMMIT,branch:e.LAYERCI_BRANCH,message:e.GIT_COMMIT_TITLE}}},pe=e=>{let t=Ee();return t?(0,m.chain)(e()).get(t).value():{}};function Jt(){return(0,m.chain)(le()).omitBy(m.isNull).keys().value()}function Yt(e){return e&&Jt().includes(e)}function Ee(){let e=Vt();return b("detected CI provider name: %s",e),e||null}function $t(){return pe(le)}function _e(){return pe(Kt)}function ge(e){let t=$t(),r=Ee(),n=Qt(e,r);return b("detected CI provider: %s",r),b("detected CI params: %O",t),b("detected CI build ID: %o",n),{params:t,provider:r,ciBuildId:n}}function Qt(e,t){return e?{source:"user",value:e}:Yt(t)?{source:"server",value:null}:{source:"random",value:`auto:${$()}`}}var Re=require("@currents/commit-info"),Ie=require("lodash");var y=require("lodash");var Q=i.extend("ci-git");function de(e){Q("git commit existing info: %O",e);let t=_e();Q("commit info from provider environment variables: %O",t);let r=(0,y.transform)(e,(n,o,a)=>{let l=o||(t?t[a]:null);return n[a]=(0,y.defaultTo)(l,null)});return Q("combined git and environment variables from provider: %O",r),r}var Wt=async()=>{let e=await(0,Re.commitInfo)();return de({branch:e.branch,remoteOrigin:e.remote,authorEmail:e.email,authorName:e.author,message:e.message,sha:e.sha,ghaEventData:e.ghaEventData})},fe=(0,Ie.memoize)(Wt);var Ce=u(require("getos")),Te=require("lodash"),I=require("os"),he=require("util"),qt=async()=>{if((0,I.platform)()==="linux")try{let e=await(0,he.promisify)(Ce.default)();return"dist"in e&&"release"in e?[e.dist,e.release].join(" - "):(0,I.release)()}catch{return(0,I.release)()}return(0,I.release)()},zt=async()=>{let e=await qt();return{osName:(0,I.platform)(),osVersion:e,osCpus:[],osMemory:{free:(0,I.freemem)(),total:(0,I.totalmem)()}}},Oe=(0,Te.memoize)(zt);var Ue={name:"@currents/cmd",version:"1.1.0-beta.
|
|
2
|
+
`,e.APPVEYOR_REPO_COMMIT_MESSAGE,e.APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED),authorName:e.APPVEYOR_REPO_COMMIT_AUTHOR,authorEmail:e.APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL},awsCodeBuild:{sha:e.CODEBUILD_RESOLVED_SOURCE_VERSION,remoteOrigin:e.CODEBUILD_SOURCE_REPO_URL},azure:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR,authorEmail:e.BUILD_REQUESTEDFOREMAIL},bamboo:{sha:e.bamboo_planRepository_revision,branch:e.bamboo_planRepository_branch,authorName:e.bamboo_planRepository_username,remoteOrigin:e.bamboo_planRepository_repositoryURL},bitbucket:{sha:e.BITBUCKET_COMMIT,branch:e.BITBUCKET_BRANCH},buildkite:{sha:e.BUILDKITE_COMMIT,branch:e.BUILDKITE_BRANCH,message:e.BUILDKITE_MESSAGE,authorName:e.BUILDKITE_BUILD_CREATOR,authorEmail:e.BUILDKITE_BUILD_CREATOR_EMAIL,remoteOrigin:e.BUILDKITE_REPO,defaultBranch:e.BUILDKITE_PIPELINE_DEFAULT_BRANCH},circle:{sha:e.CIRCLE_SHA1,branch:e.CIRCLE_BRANCH,authorName:e.CIRCLE_USERNAME,remoteOrigin:e.CIRCLE_REPOSITORY_URL},codeshipBasic:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeshipPro:{sha:e.CI_COMMIT_ID,branch:e.CI_BRANCH,message:e.CI_COMMIT_MESSAGE,authorName:e.CI_COMMITTER_NAME,authorEmail:e.CI_COMMITTER_EMAIL},codeFresh:{sha:e.CF_REVISION,branch:e.CF_BRANCH,message:e.CF_COMMIT_MESSAGE,authorName:e.CF_COMMIT_AUTHOR},drone:{sha:e.DRONE_COMMIT_SHA,branch:e.DRONE_SOURCE_BRANCH,message:e.DRONE_COMMIT_MESSAGE,authorName:e.DRONE_COMMIT_AUTHOR,authorEmail:e.DRONE_COMMIT_AUTHOR_EMAIL,remoteOrigin:e.DRONE_GIT_HTTP_URL,defaultBranch:e.DRONE_REPO_BRANCH},githubActions:{sha:e.GITHUB_SHA,branch:e.GH_BRANCH||e.GITHUB_REF,defaultBranch:e.GITHUB_BASE_REF,remoteBranch:e.GITHUB_HEAD_REF,runAttempt:e.GITHUB_RUN_ATTEMPT},gitlab:{sha:e.CI_COMMIT_SHA,branch:e.CI_COMMIT_REF_NAME,message:e.CI_COMMIT_MESSAGE,authorName:e.GITLAB_USER_NAME,authorEmail:e.GITLAB_USER_EMAIL,remoteOrigin:e.CI_REPOSITORY_URL,defaultBranch:e.CI_DEFAULT_BRANCH},googleCloud:{sha:e.COMMIT_SHA,branch:e.BRANCH_NAME},jenkins:{sha:e.GIT_COMMIT,branch:e.GIT_BRANCH},semaphore:{sha:e.SEMAPHORE_GIT_SHA,branch:e.SEMAPHORE_GIT_BRANCH,remoteOrigin:e.SEMAPHORE_GIT_REPO_SLUG},shippable:{sha:e.COMMIT,branch:e.BRANCH,message:e.COMMIT_MESSAGE,authorName:e.COMMITTER},snap:null,teamcity:null,teamfoundation:{sha:e.BUILD_SOURCEVERSION,branch:e.BUILD_SOURCEBRANCHNAME,message:e.BUILD_SOURCEVERSIONMESSAGE,authorName:e.BUILD_SOURCEVERSIONAUTHOR},travis:{sha:e.TRAVIS_PULL_REQUEST_SHA||e.TRAVIS_COMMIT,branch:e.TRAVIS_PULL_REQUEST_BRANCH||e.TRAVIS_BRANCH,message:e.TRAVIS_COMMIT_MESSAGE},wercker:null,netlify:{sha:e.COMMIT_REF,branch:e.BRANCH,remoteOrigin:e.REPOSITORY_URL},layerci:{sha:e.GIT_COMMIT,branch:e.LAYERCI_BRANCH,message:e.GIT_COMMIT_TITLE}}},pe=e=>{let t=Ee();return t?(0,m.chain)(e()).get(t).value():{}};function Jt(){return(0,m.chain)(le()).omitBy(m.isNull).keys().value()}function Yt(e){return e&&Jt().includes(e)}function Ee(){let e=Vt();return b("detected CI provider name: %s",e),e||null}function $t(){return pe(le)}function _e(){return pe(Kt)}function ge(e){let t=$t(),r=Ee(),n=Qt(e,r);return b("detected CI provider: %s",r),b("detected CI params: %O",t),b("detected CI build ID: %o",n),{params:t,provider:r,ciBuildId:n}}function Qt(e,t){return e?{source:"user",value:e}:Yt(t)?{source:"server",value:null}:{source:"random",value:`auto:${$()}`}}var Re=require("@currents/commit-info"),Ie=require("lodash");var y=require("lodash");var Q=i.extend("ci-git");function de(e){Q("git commit existing info: %O",e);let t=_e();Q("commit info from provider environment variables: %O",t);let r=(0,y.transform)(e,(n,o,a)=>{let l=o||(t?t[a]:null);return n[a]=(0,y.defaultTo)(l,null)});return Q("combined git and environment variables from provider: %O",r),r}var Wt=async()=>{let e=await(0,Re.commitInfo)();return de({branch:e.branch,remoteOrigin:e.remote,authorEmail:e.email,authorName:e.author,message:e.message,sha:e.sha,ghaEventData:e.ghaEventData})},fe=(0,Ie.memoize)(Wt);var Ce=u(require("getos")),Te=require("lodash"),I=require("os"),he=require("util"),qt=async()=>{if((0,I.platform)()==="linux")try{let e=await(0,he.promisify)(Ce.default)();return"dist"in e&&"release"in e?[e.dist,e.release].join(" - "):(0,I.release)()}catch{return(0,I.release)()}return(0,I.release)()},zt=async()=>{let e=await qt();return{osName:(0,I.platform)(),osVersion:e,osCpus:[],osMemory:{free:(0,I.freemem)(),total:(0,I.totalmem)()}}},Oe=(0,Te.memoize)(zt);var Ue={name:"@currents/cmd",version:"1.1.0-beta.2",main:"./dist/index.js",author:"Currents Software Inc",license:"GPL-3.0-or-later",description:"Currents CLI tools",scripts:{test:"vitest",rm:"rimraf dist",lint:'TIMING=1 eslint "**/*.ts*"',build:"tsup-node --minify --dts",dev:"tsup-node --watch --dts",release:"release-it","publish:npm":"npm run rm && npm run build && ./publish.js"},devDependencies:{"@jest/reporters":"^29.7.0","@jest/types":"^29.6.3","@release-it/conventional-changelog":"^7.0.2","@types/debug":"^4.1.12","@types/fs-extra":"^11.0.4","@types/getos":"^3.0.4","@types/lodash":"^4.17.5","@types/node":"^20.14.2","@types/semver":"^7.5.8","@types/tmp":"^0.2.6","@types/uuid":"^9.0.8",jest:"^29.7.0",rimraf:"^5.0.7",tsup:"^8.1.0",typescript:"^5.4.5",vitest:"^1.3.0"},dependencies:{"@commander-js/extra-typings":"^11.1.0","@currents/commit-info":"1.0.1-beta.0",axios:"^1.7.2","axios-retry":"^4.4.0",commander:"^11.1.0",debug:"^4.3.5",dotenv:"^16.0.3",execa:"^8.0.1","fs-extra":"^11.2.0",getos:"^3.2.1","jest-cli":"^29.7.0","jest-config":"^29.7.0",lodash:"^4.17.21",nanoid:"^3.3.4","pretty-ms":"^7.0.1",semver:"^7.6.0","source-map-support":"^0.5.21",tmp:"^0.2.3","tmp-promise":"^3.0.3","ts-pattern":"^5.2.0"},bin:{currents:"./dist/bin/index.js","currents-cli":"./dist/bin/index.js"},files:["dist","!**/*.map","!**/*/*.map"],keywords:["cloud test dashboard","test reporter","test results","currents","currents dashboard","ci"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js",types:"./dist/index.d.ts"},"./discovery/jest":{import:"./dist/services/upload/discovery/jest/reporter.js",require:"./dist/services/upload/discovery/jest/reporter.js",types:"./dist/services/upload/discovery/jest/reporter.d.ts"},"./package.json":"./package.json"},"release-it":{npm:{publish:!1},github:{release:!0,releaseName:"${npm.name} v${version}"},plugins:{"@release-it/conventional-changelog":{preset:"angular",header:"# Changelog",ignoreVersion:!0,infile:"./CHANGELOG.md"}},git:{commitMessage:"chore: release ${npm.name} v${version}",tagName:"${npm.name}-v${version}"}}};var Pe=Ue.version;var Zt=[];function W(e){Zt.push(e)}var R=u(require("chalk")),L=u(require("util"));var Ae=[],Se=[];var Le=(...e)=>{let t=L.default.format(...e);W(t),console.log(t)},er=(...e)=>{let t=L.default.format(...e);W(t),console.error(t)},q=Le,E=(...e)=>{let t=L.default.format(...e);return Se.push(t),i("WARNING: ",t),Le(R.default.bgYellow.black(" WARNING "),t)};var _=(...e)=>{let t=L.default.format(...e);return Ae.push(t),i("ERROR: ",t),er(R.default.bgRed.white(" ERROR "),t)};var M=(e=2)=>console.log(Array(e).fill("").join(`
|
|
3
3
|
`)),ro=R.default.cyan,oo=R.default.blueBright,no=R.default.red,so=R.default.yellow,io=R.default.green,ao=R.default.gray,co=R.default.white,uo=R.default.black,mo=R.default.magenta,v=R.default.dim,lo=R.default.bold;var z=u(require("fs-extra")),rr=require("path");async function U(e){try{return await z.default.readJson(e)}catch(t){throw _("Error while reading JSON file: %s",e,t),_}}async function X(e,t){try{return await z.default.writeFile(e,t,"utf8"),e}catch(r){throw _(`Error writing file at ${e}:`,r),r}}var dt=require("lodash"),j=u(require("path")),Rt=u(require("semver"));var We=require("util"),qe=require("zlib");var Ye=u(require("lodash"));var xe=u(require("axios")),we=u(require("axios-retry")),He=u(require("lodash"));var Z=()=>process.env.CURRENTS_API_URL??"https://cy.currents.dev",Ne=()=>process.env.CURRENTS_REST_API_URL??"https://api.currents.dev",De=()=>3e4;var ee=require("axios"),te=u(require("pretty-ms"));var Be=i.extend("http"),x=e=>[3*1e3,15*1e3,30*1e3][e-1],be=e=>(Be("isRetriableError: %o",{message:e.message,code:"code"in e?e.code:void 0,status:"response"in e?e.response?.status:void 0,headers:"response"in e?e.response?.headers:void 0,data:"response"in e?e.response?.data:void 0,isAxiosError:(0,ee.isAxiosError)(e)}),"code"in e&&e.code&&["ECONNABORTED","ECONNREFUSED","ECONNRESET","ETIMEDOUT","ENETRESET"].includes(e.code)?!0:(0,ee.isAxiosError)(e)?[429,502,503,504].includes(e.response?.status??0):!1),w=()=>3;function ye(e,t,r){Be("Network request '%s' failed: '%s'. Next attempt is in %s (%d/%d).",`${r.method?.toUpperCase()} ${r.url}`,t.message,(0,te.default)(x(e)),e,w()),E("Network request '%s' failed: '%s'. Next attempt is in %s (%d/%d).",`${r.method?.toUpperCase()} ${r.url}`,t.message,(0,te.default)(x(e)),e,w())}var Me=i.extend("http");var re={api:null,restApi:null};function or(e){let t=xe.default.create({baseURL:e==="api"?Z():Ne(),timeout:De(),transitional:{clarifyTimeoutError:!0}});return t.interceptors.request.use(r=>{let n=r["axios-retry"]?.retryCount??0;r.headers.get("Content-Type")||r.headers.set("Content-Type","application/json");let o={...He.default.pick(r,"method","url","headers"),data:Buffer.isBuffer(r.data)?"buffer":r.data};return n?Me("network request retry: %o",ve({...o,isRetry:!0})):Me("network request: %o",ve(o)),r}),(0,we.default)(t,{retries:w(),retryCondition:be,retryDelay:x,shouldResetTimeout:!0,onRetry:ye}),t}function Fe(e){return re[e]===null&&(re[e]=or(e)),re[e]}function ve(e){return{method:e.method,baseUrl:Z(),url:e.url,data:e.isRetry?"<retry>":nr(e.data),headers:{...e.headers,"x-currents-key":"***"}}}function nr(e){return e?.results?.raw?{...e,results:{...e.results,raw:"***"}}:e}var je=require("axios"),Ve=u(require("lodash")),g=require("ts-pattern");function Ke(e){(0,g.match)(e).when(je.isAxiosError,sr).otherwise(()=>{E("Unexpected error while sending network request: %s",e)})}function sr(e){return(0,g.match)(e).with({code:"ECONNABORTED"},()=>{E("Network connection aborted")}).with({code:"ECONNREFUSED"},()=>{E("Network connection aborted")}).with({code:"ECONNRESET"},()=>{E("Network connection reset")}).with({code:"ETIMEDOUT"},()=>{E("Network connection timeout")}).with({response:g.P.not(g.P.nullish)},t=>{ir(t,{status:t.response.status,data:t.response.data})}).otherwise(t=>{E(`[currents] Unexpected network error: %s
|
|
4
4
|
%O`,e.message,{method:e.response?.config.method,url:e.response?.config.url,status:e.response?.status,payload:e.response?.config.data})})}function ir(e,{status:t,data:r}){(0,g.match)(t).with(401,()=>{E(`[currents] ${e.response?.config.method} ${e.response?.config.url}} - 401 Unauthorized Request from cloud service`)}).with(400,()=>{E(`[currents] ${e.response?.config.method} ${e.response?.config.url} - 400 Bad Request from cloud service:
|
|
5
5
|
%o`,r)}).with(429,()=>{E(`[currents] ${e.response?.config.method} ${e.response?.config.url} - 429 Too Many Requests from cloud service`)}).with(422,()=>{ar(e,r)}).otherwise(()=>{E(`[currents] Unexpected network response: %s
|