diff --git a/__tests__/delete.test.ts b/__tests__/delete.test.ts index d2bea03..2f86a85 100644 --- a/__tests__/delete.test.ts +++ b/__tests__/delete.test.ts @@ -2,15 +2,13 @@ import {rest} from 'msw' import {setupServer} from 'msw/node' import {Input, InputParams} from '../src/input' -import {deleteVersions, finalIds} from '../src/delete' +import {deleteVersions, finalIds, RATE_LIMIT} from '../src/delete' import {getMockedVersionsResponse} from './version/rest.mock' import {RestEndpointMethodTypes} from '@octokit/plugin-rest-endpoint-methods/dist-types/generated/parameters-and-response-types' type GetVersionsResponseData = RestEndpointMethodTypes['packages']['getAllPackageVersionsForPackageOwnedByUser']['response']['data'] -const RATE_LIMIT = 99 - describe('index tests -- call rest', () => { let server = setupServer() diff --git a/__tests__/version/get-version.test.ts b/__tests__/version/get-version.test.ts index a5c37ae..6a03f15 100644 --- a/__tests__/version/get-version.test.ts +++ b/__tests__/version/get-version.test.ts @@ -6,8 +6,7 @@ import { } from '../../src/version' import {Observable} from 'rxjs' import {getMockedVersionsResponse} from './rest.mock' - -const RATE_LIMIT = 99 +import {RATE_LIMIT} from '../../src/delete' describe('get versions tests -- mock rest', () => { let server = setupServer() diff --git a/action.yml b/action.yml index a3b3744..03e8eb0 100644 --- a/action.yml +++ b/action.yml @@ -28,7 +28,7 @@ inputs: package-type: description: > - Type of the package containing the version to delete. + Type of package. Can be one of container, maven, npm, nuget, or rubygems. required: true num-old-versions-to-delete: diff --git a/dist/index.js b/dist/index.js index 7aba08e..40d89e0 100644 --- a/dist/index.js +++ b/dist/index.js @@ -8,11 +8,11 @@ /* eslint-disable i18n-text/no-en */ Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.deleteVersions = exports.finalIds = exports.getVersionIds = void 0; +exports.deleteVersions = exports.finalIds = exports.getVersionIds = exports.RATE_LIMIT = void 0; const rxjs_1 = __nccwpck_require__(5805); const operators_1 = __nccwpck_require__(7801); const version_1 = __nccwpck_require__(4428); -const RATE_LIMIT = 99; +exports.RATE_LIMIT = 100; let totalCount = 0; function getVersionIds(owner, packageName, packageType, numVersions, page, token) { return (0, version_1.getOldestVersions)(owner, packageName, packageType, numVersions, page, token).pipe((0, operators_1.expand)(value => value.paginate @@ -25,7 +25,7 @@ function finalIds(input) { return (0, rxjs_1.of)(input.packageVersionIds); } if (input.hasOldestVersionQueryInfo()) { - return getVersionIds(input.owner, input.packageName, input.packageType, RATE_LIMIT, 1, input.token).pipe( + return getVersionIds(input.owner, input.packageName, input.packageType, exports.RATE_LIMIT, 1, input.token).pipe( // This code block executes on all versions of a package starting from oldest (0, operators_1.map)(value => { // we need to delete oldest versions first @@ -34,15 +34,15 @@ function finalIds(input) { }); /* Here first filter out the versions that are to be ignored. - Then update input.numOldeVersionsToDelete to the no of versions deleted from the next 100 versions batch. + Then compute number of versions to delete (toDelete) based on the inputs. */ value = value.filter(info => !input.ignoreVersions.test(info.version)); let toDelete = 0; if (input.minVersionsToKeep < 0) { - toDelete = Math.min(value.length, Math.min(input.numOldVersionsToDelete, RATE_LIMIT)); + toDelete = Math.min(value.length, Math.min(input.numOldVersionsToDelete, exports.RATE_LIMIT)); } else { - toDelete = Math.min(value.length - input.minVersionsToKeep, RATE_LIMIT); + toDelete = Math.min(value.length - input.minVersionsToKeep, exports.RATE_LIMIT); } if (toDelete < 0) return []; diff --git a/src/delete.ts b/src/delete.ts index 6b1a508..b078fea 100644 --- a/src/delete.ts +++ b/src/delete.ts @@ -9,7 +9,7 @@ import { RestVersionInfo } from './version' -const RATE_LIMIT = 99 +export const RATE_LIMIT = 100 let totalCount = 0 export function getVersionIds( @@ -68,7 +68,7 @@ export function finalIds(input: Input): Observable { }) /* Here first filter out the versions that are to be ignored. - Then update input.numOldeVersionsToDelete to the no of versions deleted from the next 100 versions batch. + Then compute number of versions to delete (toDelete) based on the inputs. */ value = value.filter(info => !input.ignoreVersions.test(info.version)) let toDelete = 0