From 522784791c176908ac17957c1dd0cea94f9e86a2 Mon Sep 17 00:00:00 2001 From: Vallie Joseph Date: Fri, 28 Jul 2023 14:55:49 +0000 Subject: [PATCH] updating deps --- packages/artifact/__tests__/crc64.test.ts | 3 +- packages/artifact/__tests__/upload.test.ts | 43 +++++----- packages/artifact/__tests__/util.test.ts | 5 +- .../src/internal/download-http-client.ts | 27 +++--- packages/cache/package-lock.json | 85 +++---------------- .../cache/src/internal/cacheHttpClient.ts | 11 +-- packages/core/__tests__/command.test.ts | 13 ++- packages/core/__tests__/summary.test.ts | 5 +- packages/exec/src/toolrunner.ts | 15 ++-- packages/glob/package-lock.json | 24 ++++++ packages/http-client/__tests__/auth.test.ts | 5 +- packages/http-client/package-lock.json | 4 +- packages/http-client/src/auth.ts | 3 +- packages/http-client/src/index.ts | 4 +- .../tool-cache/__tests__/retry-helper.test.ts | 6 +- .../tool-cache/__tests__/tool-cache.test.ts | 76 +++++++---------- packages/tool-cache/package-lock.json | 12 +-- packages/tool-cache/src/manifest.ts | 5 +- 18 files changed, 138 insertions(+), 208 deletions(-) diff --git a/packages/artifact/__tests__/crc64.test.ts b/packages/artifact/__tests__/crc64.test.ts index f5b504fa..c75d091a 100644 --- a/packages/artifact/__tests__/crc64.test.ts +++ b/packages/artifact/__tests__/crc64.test.ts @@ -1,8 +1,7 @@ import CRC64, {CRC64DigestEncoding} from '../src/internal/crc64' const fixtures = { - data: - '🚀 👉😎👉 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n', + data: '🚀 👉😎👉 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n', expected: { hex: '846CE4ADAD6223ED', base64: '7SNira3kbIQ=', diff --git a/packages/artifact/__tests__/upload.test.ts b/packages/artifact/__tests__/upload.test.ts index fcf7ee26..03d53f63 100644 --- a/packages/artifact/__tests__/upload.test.ts +++ b/packages/artifact/__tests__/upload.test.ts @@ -2,22 +2,22 @@ import * as http from 'http' import * as io from '../../io/src/io' import * as net from 'net' import * as path from 'path' -import { mocked } from 'ts-jest/utils' -import { exec, execSync } from 'child_process' -import { createGunzip } from 'zlib' -import { promisify } from 'util' -import { UploadHttpClient } from '../src/internal/upload-http-client' +import {mocked} from 'ts-jest/utils' +import {exec, execSync} from 'child_process' +import {createGunzip} from 'zlib' +import {promisify} from 'util' +import {UploadHttpClient} from '../src/internal/upload-http-client' import * as core from '@actions/core' -import { promises as fs } from 'fs' -import { getRuntimeUrl } from '../src/internal/config-variables' -import { HttpClient, HttpClientResponse } from '@actions/http-client' +import {promises as fs} from 'fs' +import {getRuntimeUrl} from '../src/internal/config-variables' +import {HttpClient, HttpClientResponse} from '@actions/http-client' import { ArtifactResponse, PatchArtifactSizeSuccessResponse } from '../src/internal/contracts' -import { UploadSpecification } from '../src/internal/upload-specification' -import { getArtifactUrl } from '../src/internal/utils' -import { UploadOptions } from '../src/internal/upload-options' +import {UploadSpecification} from '../src/internal/upload-specification' +import {getArtifactUrl} from '../src/internal/utils' +import {UploadOptions} from '../src/internal/upload-options' const root = path.join(__dirname, '_temp', 'artifact-upload') const file1Path = path.join(root, 'file1.txt') @@ -38,11 +38,11 @@ jest.mock('@actions/http-client') describe('Upload Tests', () => { beforeAll(async () => { // mock all output so that there is less noise when running tests - jest.spyOn(console, 'log').mockImplementation(() => { }) - jest.spyOn(core, 'debug').mockImplementation(() => { }) - jest.spyOn(core, 'info').mockImplementation(() => { }) - jest.spyOn(core, 'warning').mockImplementation(() => { }) - jest.spyOn(core, 'error').mockImplementation(() => { }) + jest.spyOn(console, 'log').mockImplementation(() => {}) + jest.spyOn(core, 'debug').mockImplementation(() => {}) + jest.spyOn(core, 'info').mockImplementation(() => {}) + jest.spyOn(core, 'warning').mockImplementation(() => {}) + jest.spyOn(core, 'error').mockImplementation(() => {}) // setup mocking for calls that got through the HttpClient setupHttpClientMock() @@ -196,7 +196,7 @@ describe('Upload Tests', () => { // create a named pipe 'pipe' with content 'hello pipe' const content = Buffer.from('hello pipe') const pipeFilePath = path.join(root, 'pipe') - await promisify(exec)('mkfifo pipe', { cwd: root }) + await promisify(exec)('mkfifo pipe', {cwd: root}) // don't want to await here as that would block until read fs.writeFile(pipeFilePath, content) @@ -280,7 +280,7 @@ describe('Upload Tests', () => { const uploadResult = await uploadHttpClient.uploadArtifactToFileContainer( uploadUrl, uploadSpecification, - { continueOnError: true } + {continueOnError: true} ) expect(uploadResult.failedItems.length).toEqual(1) expect(uploadResult.uploadSize).toEqual(expectedPartialSize) @@ -317,7 +317,7 @@ describe('Upload Tests', () => { const uploadResult = await uploadHttpClient.uploadArtifactToFileContainer( uploadUrl, uploadSpecification, - { continueOnError: false } + {continueOnError: false} ) expect(uploadResult.failedItems.length).toEqual(2) expect(uploadResult.uploadSize).toEqual(expectedPartialSize) @@ -461,8 +461,9 @@ describe('Upload Tests', () => { fileContainerResourceUrl: `${getRuntimeUrl()}_apis/resources/Containers/13`, type: 'actions_storage', name: inputData.Name, - url: `${getRuntimeUrl()}_apis/pipelines/1/runs/1/artifacts?artifactName=${inputData.Name - }` + url: `${getRuntimeUrl()}_apis/pipelines/1/runs/1/artifacts?artifactName=${ + inputData.Name + }` } const returnData: string = JSON.stringify(response, null, 2) mockReadBody = async function (): Promise { diff --git a/packages/artifact/__tests__/util.test.ts b/packages/artifact/__tests__/util.test.ts index a62babba..b76ef31b 100644 --- a/packages/artifact/__tests__/util.test.ts +++ b/packages/artifact/__tests__/util.test.ts @@ -29,9 +29,8 @@ describe('Utils', () => { expect(retryWaitTime0).toEqual(getInitialRetryIntervalInMilliseconds()) const testMinMaxRange = (retryCount: number): void => { - const retryWaitTime = utils.getExponentialRetryTimeInMilliseconds( - retryCount - ) + const retryWaitTime = + utils.getExponentialRetryTimeInMilliseconds(retryCount) const minRange = getInitialRetryIntervalInMilliseconds() * getRetryMultiplier() * diff --git a/packages/artifact/src/internal/download-http-client.ts b/packages/artifact/src/internal/download-http-client.ts index 1da8b13b..2966348a 100644 --- a/packages/artifact/src/internal/download-http-client.ts +++ b/packages/artifact/src/internal/download-http-client.ts @@ -14,16 +14,16 @@ import { rmFile, sleep } from './utils' -import { URL } from 'url' -import { StatusReporter } from './status-reporter' -import { performance } from 'perf_hooks' -import { ListArtifactsResponse, QueryArtifactResponse } from './contracts' -import { HttpClientResponse } from '@actions/http-client' -import { HttpManager } from './http-manager' -import { DownloadItem } from './download-specification' -import { getDownloadFileConcurrency, getRetryLimit } from './config-variables' -import { IncomingHttpHeaders } from 'http' -import { retryHttpClientRequest } from './requestUtils' +import {URL} from 'url' +import {StatusReporter} from './status-reporter' +import {performance} from 'perf_hooks' +import {ListArtifactsResponse, QueryArtifactResponse} from './contracts' +import {HttpClientResponse} from '@actions/http-client' +import {HttpManager} from './http-manager' +import {DownloadItem} from './download-specification' +import {getDownloadFileConcurrency, getRetryLimit} from './config-variables' +import {IncomingHttpHeaders} from 'http' +import {retryHttpClientRequest} from './requestUtils' export class DownloadHttpClient { // http manager is used for concurrent connections when downloading multiple files at once @@ -113,7 +113,8 @@ export class DownloadHttpClient { if (core.isDebug()) { core.debug( - `File: ${++downloadedFiles}/${downloadItems.length}. ${currentFileToDownload.targetPath + `File: ${++downloadedFiles}/${downloadItems.length}. ${ + currentFileToDownload.targetPath } took ${(performance.now() - startTime).toFixed( 3 )} milliseconds to finish downloading` @@ -279,8 +280,8 @@ export class DownloadHttpClient { // if a throttled status code is received, try to get the retryAfter header value, else differ to standard exponential backoff isThrottledStatusCode(response.message.statusCode) ? await backOff( - tryGetRetryAfterValueTimeInMilliseconds(response.message.headers) - ) + tryGetRetryAfterValueTimeInMilliseconds(response.message.headers) + ) : await backOff() } else { // Some unexpected response code, fail immediately and stop the download diff --git a/packages/cache/package-lock.json b/packages/cache/package-lock.json index dfb088da..f54681b4 100644 --- a/packages/cache/package-lock.json +++ b/packages/cache/package-lock.json @@ -248,15 +248,14 @@ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "node_modules/@azure/ms-rest-js": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.6.6.tgz", - "integrity": "sha512-WYIda8VvrkZE68xHgOxUXvjThxNf1nnGPPe0rAljqK5HJHIZ12Pi3YhEDOn3Ge7UnwaaM3eFO0VtAy4nGVI27Q==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.7.0.tgz", + "integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==", "dependencies": { "@azure/core-auth": "^1.1.4", "abort-controller": "^3.0.0", "form-data": "^2.5.0", "node-fetch": "^2.6.7", - "tough-cookie": "^3.0.1", "tslib": "^1.10.0", "tunnel": "0.0.6", "uuid": "^8.3.2", @@ -432,14 +431,6 @@ "node": ">= 0.12" } }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "engines": { - "node": ">=4" - } - }, "node_modules/mime-db": { "version": "1.51.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", @@ -497,45 +488,19 @@ "node": ">= 0.6.0" } }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, - "node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", @@ -819,15 +784,14 @@ } }, "@azure/ms-rest-js": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.6.6.tgz", - "integrity": "sha512-WYIda8VvrkZE68xHgOxUXvjThxNf1nnGPPe0rAljqK5HJHIZ12Pi3YhEDOn3Ge7UnwaaM3eFO0VtAy4nGVI27Q==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.7.0.tgz", + "integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==", "requires": { "@azure/core-auth": "^1.1.4", "abort-controller": "^3.0.0", "form-data": "^2.5.0", "node-fetch": "^2.6.7", - "tough-cookie": "^3.0.1", "tslib": "^1.10.0", "tunnel": "0.0.6", "uuid": "^8.3.2", @@ -979,11 +943,6 @@ "mime-types": "^2.1.12" } }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - }, "mime-db": { "version": "1.51.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", @@ -1018,35 +977,15 @@ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "tr46": { "version": "0.0.3", diff --git a/packages/cache/src/internal/cacheHttpClient.ts b/packages/cache/src/internal/cacheHttpClient.ts index e05cac58..52422ff6 100644 --- a/packages/cache/src/internal/cacheHttpClient.ts +++ b/packages/cache/src/internal/cacheHttpClient.ts @@ -92,10 +92,7 @@ export function getCacheVersion( // Add salt to cache version to support breaking changes in cache entry components.push(versionSalt) - return crypto - .createHash('sha256') - .update(components.join('|')) - .digest('hex') + return crypto.createHash('sha256').update(components.join('|')).digest('hex') } export async function getCacheEntry( @@ -230,9 +227,9 @@ async function uploadChunk( end: number ): Promise { core.debug( - `Uploading chunk of size ${end - - start + - 1} bytes at offset ${start} with content range: ${getContentRange( + `Uploading chunk of size ${ + end - start + 1 + } bytes at offset ${start} with content range: ${getContentRange( start, end )}` diff --git a/packages/core/__tests__/command.test.ts b/packages/core/__tests__/command.test.ts index c5bb1dd5..b650a61b 100644 --- a/packages/core/__tests__/command.test.ts +++ b/packages/core/__tests__/command.test.ts @@ -17,7 +17,7 @@ describe('@actions/core/src/command', () => { afterEach(() => {}) afterAll(() => { - process.stdout.write = (originalWriteFunction as unknown) as ( + process.stdout.write = originalWriteFunction as unknown as ( str: string ) => boolean }) @@ -51,8 +51,7 @@ describe('@actions/core/src/command', () => { command.issueCommand( 'some-command', { - name: - 'percent % percent % cr \r cr \r lf \n lf \n colon : colon : comma , comma ,' + name: 'percent % percent % cr \r cr \r lf \n lf \n colon : colon : comma , comma ,' }, '' ) @@ -117,11 +116,11 @@ describe('@actions/core/src/command', () => { command.issueCommand( 'some-command', { - prop1: ({test: 'object'} as unknown) as string, - prop2: (123 as unknown) as string, - prop3: (true as unknown) as string + prop1: {test: 'object'} as unknown as string, + prop2: 123 as unknown as string, + prop3: true as unknown as string }, - ({test: 'object'} as unknown) as string + {test: 'object'} as unknown as string ) assertWriteCalls([ `::some-command prop1={"test"%3A"object"},prop2=123,prop3=true::{"test":"object"}${os.EOL}` diff --git a/packages/core/__tests__/summary.test.ts b/packages/core/__tests__/summary.test.ts index c13b0179..b7798dee 100644 --- a/packages/core/__tests__/summary.test.ts +++ b/packages/core/__tests__/summary.test.ts @@ -150,10 +150,7 @@ describe('@actions/core/src/summary', () => { }) it('adds EOL', async () => { - await summary - .addRaw(fixtures.text) - .addEOL() - .write() + await summary.addRaw(fixtures.text).addEOL().write() await assertSummary(fixtures.text + os.EOL) }) diff --git a/packages/exec/src/toolrunner.ts b/packages/exec/src/toolrunner.ts index 87d0bbe1..18f884d3 100644 --- a/packages/exec/src/toolrunner.ts +++ b/packages/exec/src/toolrunner.ts @@ -267,10 +267,7 @@ export class ToolRunner extends events.EventEmitter { } reverse += '"' - return reverse - .split('') - .reverse() - .join('') + return reverse.split('').reverse().join('') } private _uvQuoteCmdArg(arg: string): string { @@ -350,10 +347,7 @@ export class ToolRunner extends events.EventEmitter { } reverse += '"' - return reverse - .split('') - .reverse() - .join('') + return reverse.split('').reverse().join('') } private _cloneExecOptions(options?: im.ExecOptions): im.ExecOptions { @@ -691,8 +685,9 @@ class ExecState extends events.EventEmitter { } if (!state.processClosed && state.processExited) { - const message = `The STDIO streams did not close within ${state.delay / - 1000} seconds of the exit event from process '${ + const message = `The STDIO streams did not close within ${ + state.delay / 1000 + } seconds of the exit event from process '${ state.toolPath }'. This may indicate a child process inherited the STDIO streams and has not yet exited.` state._debug(message) diff --git a/packages/glob/package-lock.json b/packages/glob/package-lock.json index 0ccc9ac9..37a8ad89 100644 --- a/packages/glob/package-lock.json +++ b/packages/glob/package-lock.json @@ -36,6 +36,14 @@ "uuid": "^8.3.2" } }, + "node_modules/@actions/http-client": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz", + "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==", + "dependencies": { + "tunnel": "^0.0.6" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -65,6 +73,22 @@ "engines": { "node": "*" } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } } }, "bugs": { diff --git a/packages/http-client/__tests__/auth.test.ts b/packages/http-client/__tests__/auth.test.ts index dadcbfb7..50d0a6a4 100644 --- a/packages/http-client/__tests__/auth.test.ts +++ b/packages/http-client/__tests__/auth.test.ts @@ -31,9 +31,8 @@ describe('auth', () => { it('does basic http get request with pat token auth', async () => { const token = 'scbfb44vxzku5l4xgc3qfazn3lpk4awflfryc76esaiq7aypcbhs' - const ph: am.PersonalAccessTokenCredentialHandler = new am.PersonalAccessTokenCredentialHandler( - token - ) + const ph: am.PersonalAccessTokenCredentialHandler = + new am.PersonalAccessTokenCredentialHandler(token) const http: httpm.HttpClient = new httpm.HttpClient('http-client-tests', [ ph diff --git a/packages/http-client/package-lock.json b/packages/http-client/package-lock.json index e5e1e9ed..333acf7f 100644 --- a/packages/http-client/package-lock.json +++ b/packages/http-client/package-lock.json @@ -1,12 +1,12 @@ { "name": "@actions/http-client", - "version": "2.0.1", + "version": "2.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@actions/http-client", - "version": "2.0.1", + "version": "2.1.0", "license": "MIT", "dependencies": { "tunnel": "^0.0.6" diff --git a/packages/http-client/src/auth.ts b/packages/http-client/src/auth.ts index 639adbe2..58938ac4 100644 --- a/packages/http-client/src/auth.ts +++ b/packages/http-client/src/auth.ts @@ -57,7 +57,8 @@ export class BearerCredentialHandler implements ifm.RequestHandler { } export class PersonalAccessTokenCredentialHandler - implements ifm.RequestHandler { + implements ifm.RequestHandler +{ token: string constructor(token: string) { diff --git a/packages/http-client/src/index.ts b/packages/http-client/src/index.ts index f02c2754..ebea203d 100644 --- a/packages/http-client/src/index.ts +++ b/packages/http-client/src/index.ts @@ -519,7 +519,7 @@ export class HttpClient { handleResult(new Error(`Request timeout: ${info.options.path}`)) }) - req.on('error', function(err) { + req.on('error', function (err) { // err has statusCode property // res should have headers handleResult(err) @@ -530,7 +530,7 @@ export class HttpClient { } if (data && typeof data !== 'string') { - data.on('close', function() { + data.on('close', function () { req.end() }) diff --git a/packages/tool-cache/__tests__/retry-helper.test.ts b/packages/tool-cache/__tests__/retry-helper.test.ts index 90b2e7c9..7b110db3 100644 --- a/packages/tool-cache/__tests__/retry-helper.test.ts +++ b/packages/tool-cache/__tests__/retry-helper.test.ts @@ -68,7 +68,7 @@ describe('retry-helper tests', () => { it('all attempts fail', async () => { let attempts = 0 - let error: Error = (null as unknown) as Error + let error: Error = null as unknown as Error try { await retryHelper.execute(() => { throw new Error(`some error ${++attempts}`) @@ -87,7 +87,7 @@ describe('retry-helper tests', () => { it('checks retryable after first attempt', async () => { let attempts = 0 - let error: Error = (null as unknown) as Error + let error: Error = null as unknown as Error try { await retryHelper.execute( async () => { @@ -105,7 +105,7 @@ describe('retry-helper tests', () => { it('checks retryable after second attempt', async () => { let attempts = 0 - let error: Error = (null as unknown) as Error + let error: Error = null as unknown as Error try { await retryHelper.execute( async () => { diff --git a/packages/tool-cache/__tests__/tool-cache.test.ts b/packages/tool-cache/__tests__/tool-cache.test.ts index 16c1a5b4..4712ab5f 100644 --- a/packages/tool-cache/__tests__/tool-cache.test.ts +++ b/packages/tool-cache/__tests__/tool-cache.test.ts @@ -17,31 +17,28 @@ import * as tc from '../src/tool-cache' const IS_WINDOWS = process.platform === 'win32' const IS_MAC = process.platform === 'darwin' -describe('@actions/tool-cache', function() { - beforeAll(function() { - nock('http://example.com') - .persist() - .get('/bytes/35') - .reply(200, { - username: 'abc', - password: 'def' - }) +describe('@actions/tool-cache', function () { + beforeAll(function () { + nock('http://example.com').persist().get('/bytes/35').reply(200, { + username: 'abc', + password: 'def' + }) setGlobal('TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS', 0) setGlobal('TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS', 0) }) - beforeEach(async function() { + beforeEach(async function () { await io.rmRF(cachePath) await io.rmRF(tempPath) await io.mkdirP(cachePath) await io.mkdirP(tempPath) }) - afterEach(function() { + afterEach(function () { setResponseMessageFactory(undefined) }) - afterAll(async function() { + afterAll(async function () { await io.rmRF(tempPath) await io.rmRF(cachePath) setGlobal('TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS', undefined) @@ -177,13 +174,10 @@ describe('@actions/tool-cache', function() { }) it('has status code in exception dictionary for HTTP error code responses', async () => { - nock('http://example.com') - .persist() - .get('/bytes/bad') - .reply(400, { - username: 'bad', - password: 'file' - }) + nock('http://example.com').persist().get('/bytes/bad').reply(400, { + username: 'bad', + password: 'file' + }) expect.assertions(2) @@ -196,7 +190,7 @@ describe('@actions/tool-cache', function() { } }) - it('works with redirect code 302', async function() { + it('works with redirect code 302', async function () { nock('http://example.com') .persist() .get('/redirect-to') @@ -295,7 +289,7 @@ describe('@actions/tool-cache', function() { } }) - it('extract 7z using custom 7z tool', async function() { + it('extract 7z using custom 7z tool', async function () { const tempDir = path.join( __dirname, 'test-extract-7z-using-custom-7z-tool' @@ -643,7 +637,7 @@ describe('@actions/tool-cache', function() { } ) - it('installs a zip and extracts it to specified directory', async function() { + it('installs a zip and extracts it to specified directory', async function () { const tempDir = path.join(__dirname, 'test-install-zip') try { await io.mkdirP(tempDir) @@ -706,7 +700,7 @@ describe('@actions/tool-cache', function() { } }) - it('extract zip to a directory that does not exist', async function() { + it('extract zip to a directory that does not exist', async function () { const tempDir = path.join(__dirname, 'test-install-zip') try { await io.mkdirP(tempDir) @@ -762,24 +756,16 @@ describe('@actions/tool-cache', function() { } }) - it('works with a 502 temporary failure', async function() { - nock('http://example.com') - .get('/temp502') - .twice() - .reply(502, undefined) - nock('http://example.com') - .get('/temp502') - .reply(200, undefined) + it('works with a 502 temporary failure', async function () { + nock('http://example.com').get('/temp502').twice().reply(502, undefined) + nock('http://example.com').get('/temp502').reply(200, undefined) const statusCodeUrl = 'http://example.com/temp502' await tc.downloadTool(statusCodeUrl) }) - it("doesn't retry 502s more than 3 times", async function() { - nock('http://example.com') - .get('/perm502') - .times(3) - .reply(502, undefined) + it("doesn't retry 502s more than 3 times", async function () { + nock('http://example.com').get('/perm502').times(3).reply(502, undefined) expect.assertions(1) @@ -791,7 +777,7 @@ describe('@actions/tool-cache', function() { } }) - it('retries 429s', async function() { + it('retries 429s', async function () { nock('http://example.com') .get('/too-many-requests-429') .times(2) @@ -808,13 +794,9 @@ describe('@actions/tool-cache', function() { } }) - it("doesn't retry 404", async function() { - nock('http://example.com') - .get('/not-found-404') - .reply(404, undefined) - nock('http://example.com') - .get('/not-found-404') - .reply(500, undefined) + it("doesn't retry 404", async function () { + nock('http://example.com').get('/not-found-404').reply(404, undefined) + nock('http://example.com').get('/not-found-404').reply(500, undefined) try { const statusCodeUrl = 'http://example.com/not-found-404' @@ -824,7 +806,7 @@ describe('@actions/tool-cache', function() { } }) - it('supports authorization headers', async function() { + it('supports authorization headers', async function () { nock('http://example.com', { reqheaders: { authorization: 'token abc123' @@ -840,7 +822,7 @@ describe('@actions/tool-cache', function() { ) }) - it('supports custom headers', async function() { + it('supports custom headers', async function () { nock('http://example.com', { reqheaders: { accept: 'application/octet-stream' @@ -859,7 +841,7 @@ describe('@actions/tool-cache', function() { ) }) - it('supports authorization and custom headers', async function() { + it('supports authorization and custom headers', async function () { nock('http://example.com', { reqheaders: { accept: 'application/octet-stream', diff --git a/packages/tool-cache/package-lock.json b/packages/tool-cache/package-lock.json index f1b37096..c3bdbe08 100644 --- a/packages/tool-cache/package-lock.json +++ b/packages/tool-cache/package-lock.json @@ -145,9 +145,9 @@ } }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -284,9 +284,9 @@ "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "tunnel": { "version": "0.0.6", diff --git a/packages/tool-cache/src/manifest.ts b/packages/tool-cache/src/manifest.ts index e52819b4..7e0808f1 100644 --- a/packages/tool-cache/src/manifest.ts +++ b/packages/tool-cache/src/manifest.ts @@ -140,10 +140,7 @@ export function _getOsVersion(): string { (parts[0].trim() === 'VERSION_ID' || parts[0].trim() === 'DISTRIB_RELEASE') ) { - version = parts[1] - .trim() - .replace(/^"/, '') - .replace(/"$/, '') + version = parts[1].trim().replace(/^"/, '').replace(/"$/, '') break } }