set RATE_LIMIT=99

This commit is contained in:
Namrata Jha
2021-12-21 18:52:10 +00:00
committed by GitHub
parent 21a6c99c5d
commit e6a9d9c802
4 changed files with 19 additions and 18 deletions
+10 -8
View File
@@ -27,11 +27,12 @@ exports.deleteVersions = exports.finalIds = exports.getVersionIds = void 0;
const rxjs_1 = __nccwpck_require__(5805); const rxjs_1 = __nccwpck_require__(5805);
const version_1 = __nccwpck_require__(4428); const version_1 = __nccwpck_require__(4428);
const operators_1 = __nccwpck_require__(7801); const operators_1 = __nccwpck_require__(7801);
const RATE_LIMIT = 99;
let totalCount; let totalCount;
function getVersionIds(owner, repo, packageName, numVersions, cursor, token) { function getVersionIds(owner, repo, packageName, numVersions, cursor, token) {
return version_1.getOldestVersions(owner, repo, packageName, numVersions, cursor, token).pipe(operators_1.expand(value => value.paginate return version_1.getOldestVersions(owner, repo, packageName, numVersions, cursor, token).pipe(operators_1.expand(value => value.paginate
? version_1.getOldestVersions(owner, repo, packageName, numVersions, value.cursor, token) ? version_1.getOldestVersions(owner, repo, packageName, numVersions, value.cursor, token)
: rxjs_1.EMPTY), operators_1.tap(value => (totalCount = value.totalCount)), operators_1.tap(value => console.log(`in expand value length: ${value.versions.length}`)), operators_1.map(value => value.versions)); : rxjs_1.EMPTY), operators_1.tap(value => (totalCount = value.totalCount)), operators_1.map(value => value.versions));
} }
exports.getVersionIds = getVersionIds; exports.getVersionIds = getVersionIds;
function finalIds(input) { function finalIds(input) {
@@ -41,7 +42,9 @@ function finalIds(input) {
if (input.hasOldestVersionQueryInfo()) { if (input.hasOldestVersionQueryInfo()) {
if (input.minVersionsToKeep < 0) { if (input.minVersionsToKeep < 0) {
input.numOldVersionsToDelete = input.numOldVersionsToDelete =
input.numOldVersionsToDelete < 100 ? input.numOldVersionsToDelete : 100; input.numOldVersionsToDelete < RATE_LIMIT
? input.numOldVersionsToDelete
: RATE_LIMIT;
return getVersionIds(input.owner, input.repo, input.packageName, input.numOldVersionsToDelete, '', input.token).pipe(operators_1.map(value => { return getVersionIds(input.owner, input.repo, input.packageName, input.numOldVersionsToDelete, '', input.token).pipe(operators_1.map(value => {
const temp = input.numOldVersionsToDelete; const temp = input.numOldVersionsToDelete;
input.numOldVersionsToDelete = input.numOldVersionsToDelete =
@@ -56,18 +59,18 @@ function finalIds(input) {
})); }));
} }
else { else {
return getVersionIds(input.owner, input.repo, input.packageName, 100, '', input.token).pipe(operators_1.map(value => { return getVersionIds(input.owner, input.repo, input.packageName, RATE_LIMIT, '', input.token).pipe(operators_1.map(value => {
totalCount = totalCount =
totalCount - totalCount -
value.filter(info => input.ignoreVersions.test(info.version)).length; value.filter(info => input.ignoreVersions.test(info.version)).length;
value = value.filter(info => !input.ignoreVersions.test(info.version)); value = value.filter(info => !input.ignoreVersions.test(info.version));
let toDelete = totalCount - input.minVersionsToKeep - input.numDeleted; let toDelete = totalCount - input.minVersionsToKeep - input.numDeleted;
toDelete = toDelete > value.length ? value.length : toDelete; toDelete = toDelete > value.length ? value.length : toDelete;
if (toDelete > 0 && input.numDeleted < 99) { if (toDelete > 0 && input.numDeleted < RATE_LIMIT) {
// using input.numDeleted to keep track of deleted and remaining packages // using input.numDeleted to keep track of deleted and remaining packages
if (input.numDeleted + toDelete > 99) { if (input.numDeleted + toDelete > 99) {
toDelete = 99 - input.numDeleted; toDelete = RATE_LIMIT - input.numDeleted;
input.numDeleted = 99; input.numDeleted = RATE_LIMIT;
} }
else { else {
input.numDeleted = input.numDeleted + toDelete; input.numDeleted = input.numDeleted + toDelete;
@@ -198,7 +201,6 @@ function deletePackageVersions(packageVersionIds, token) {
if (packageVersionIds.length === 0) { if (packageVersionIds.length === 0) {
return rxjs_1.of(true); return rxjs_1.of(true);
} }
console.log(`in delete length: ${packageVersionIds.length}`);
const deletes = packageVersionIds.map(id => deletePackageVersion(id, token).pipe(operators_1.tap(result => { const deletes = packageVersionIds.map(id => deletePackageVersion(id, token).pipe(operators_1.tap(result => {
if (result) { if (result) {
console.log(`version with id: ${id}, deleted`); console.log(`version with id: ${id}, deleted`);
@@ -280,7 +282,7 @@ function queryForOldestVersions(owner, repo, packageName, numVersions, startCurs
owner, owner,
repo, repo,
package: packageName, package: packageName,
last: numVersions > 100 ? 100 : numVersions, last: numVersions,
headers: { headers: {
Accept: 'application/vnd.github.packages-preview+json' Accept: 'application/vnd.github.packages-preview+json'
} }
+8 -8
View File
@@ -3,6 +3,7 @@ import {EMPTY, Observable, of, throwError} from 'rxjs'
import {deletePackageVersions, getOldestVersions, VersionInfo} from './version' import {deletePackageVersions, getOldestVersions, VersionInfo} from './version'
import {concatMap, map, expand, tap} from 'rxjs/operators' import {concatMap, map, expand, tap} from 'rxjs/operators'
const RATE_LIMIT = 99
let totalCount: number let totalCount: number
export function getVersionIds( export function getVersionIds(
@@ -34,9 +35,6 @@ export function getVersionIds(
: EMPTY : EMPTY
), ),
tap(value => (totalCount = value.totalCount)), tap(value => (totalCount = value.totalCount)),
tap(value =>
console.log(`in expand value length: ${value.versions.length}`)
),
map(value => value.versions) map(value => value.versions)
) )
} }
@@ -48,7 +46,9 @@ export function finalIds(input: Input): Observable<string[]> {
if (input.hasOldestVersionQueryInfo()) { if (input.hasOldestVersionQueryInfo()) {
if (input.minVersionsToKeep < 0) { if (input.minVersionsToKeep < 0) {
input.numOldVersionsToDelete = input.numOldVersionsToDelete =
input.numOldVersionsToDelete < 100 ? input.numOldVersionsToDelete : 100 input.numOldVersionsToDelete < RATE_LIMIT
? input.numOldVersionsToDelete
: RATE_LIMIT
return getVersionIds( return getVersionIds(
input.owner, input.owner,
input.repo, input.repo,
@@ -77,7 +77,7 @@ export function finalIds(input: Input): Observable<string[]> {
input.owner, input.owner,
input.repo, input.repo,
input.packageName, input.packageName,
100, RATE_LIMIT,
'', '',
input.token input.token
).pipe( ).pipe(
@@ -88,11 +88,11 @@ export function finalIds(input: Input): Observable<string[]> {
value = value.filter(info => !input.ignoreVersions.test(info.version)) value = value.filter(info => !input.ignoreVersions.test(info.version))
let toDelete = totalCount - input.minVersionsToKeep - input.numDeleted let toDelete = totalCount - input.minVersionsToKeep - input.numDeleted
toDelete = toDelete > value.length ? value.length : toDelete toDelete = toDelete > value.length ? value.length : toDelete
if (toDelete > 0 && input.numDeleted < 99) { if (toDelete > 0 && input.numDeleted < RATE_LIMIT) {
// using input.numDeleted to keep track of deleted and remaining packages // using input.numDeleted to keep track of deleted and remaining packages
if (input.numDeleted + toDelete > 99) { if (input.numDeleted + toDelete > 99) {
toDelete = 99 - input.numDeleted toDelete = RATE_LIMIT - input.numDeleted
input.numDeleted = 99 input.numDeleted = RATE_LIMIT
} else { } else {
input.numDeleted = input.numDeleted + toDelete input.numDeleted = input.numDeleted + toDelete
} }
-1
View File
@@ -48,7 +48,6 @@ export function deletePackageVersions(
return of(true) return of(true)
} }
console.log(`in delete length: ${packageVersionIds.length}`)
const deletes = packageVersionIds.map(id => const deletes = packageVersionIds.map(id =>
deletePackageVersion(id, token).pipe( deletePackageVersion(id, token).pipe(
tap(result => { tap(result => {
+1 -1
View File
@@ -101,7 +101,7 @@ export function queryForOldestVersions(
owner, owner,
repo, repo,
package: packageName, package: packageName,
last: numVersions > 100 ? 100 : numVersions, last: numVersions,
headers: { headers: {
Accept: 'application/vnd.github.packages-preview+json' Accept: 'application/vnd.github.packages-preview+json'
} }