add ignore versions property
This commit is contained in:
@@ -39,7 +39,14 @@ inputs:
|
||||
Number of versions to keep starting with the latest version
|
||||
required: false
|
||||
default: "1"
|
||||
|
||||
|
||||
ignore-versions:
|
||||
description: >
|
||||
Comma seperated regex patterns of versions to ignore.
|
||||
Defaults to all major release versions and only deletes pre-release versions.
|
||||
required: false
|
||||
default: "^[\d*]+.[\d*]+.[0*]+$"
|
||||
|
||||
token:
|
||||
description: >
|
||||
Token with the necessary scopes to delete package versions.
|
||||
|
||||
8
dist/index.js
vendored
8
dist/index.js
vendored
@@ -36,7 +36,10 @@ function getVersionIds(input) {
|
||||
const numberVersionsToDelete = versionInfo.length - input.minVersionsToKeep;
|
||||
return numberVersionsToDelete <= 0
|
||||
? []
|
||||
: versionInfo.slice(0, numberVersionsToDelete).map(info => info.id);
|
||||
: versionInfo
|
||||
.filter(info => !input.ignoreVersions.test(info.version))
|
||||
.map(info => info.id)
|
||||
.slice(0, numberVersionsToDelete);
|
||||
}));
|
||||
}
|
||||
return rxjs_1.throwError("Could not get packageVersionIds. Explicitly specify using the 'package-version-ids' input or provide the 'package-name' and 'num-old-versions-to-delete' inputs to dynamically retrieve oldest versions");
|
||||
@@ -71,6 +74,7 @@ const defaultParams = {
|
||||
packageName: '',
|
||||
numOldVersionsToDelete: 0,
|
||||
minVersionsToKeep: 0,
|
||||
ignoreVersions: new RegExp(''),
|
||||
token: ''
|
||||
};
|
||||
class Input {
|
||||
@@ -82,6 +86,7 @@ class Input {
|
||||
this.packageName = validatedParams.packageName;
|
||||
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete;
|
||||
this.minVersionsToKeep = validatedParams.minVersionsToKeep;
|
||||
this.ignoreVersions = validatedParams.ignoreVersions;
|
||||
this.token = validatedParams.token;
|
||||
}
|
||||
hasOldestVersionQueryInfo() {
|
||||
@@ -40309,6 +40314,7 @@ function getActionInput() {
|
||||
packageName: core_1.getInput('package-name'),
|
||||
numOldVersionsToDelete: Number(core_1.getInput('num-old-versions-to-delete')),
|
||||
minVersionsToKeep: Number(core_1.getInput('min-versions-to-keep')),
|
||||
ignoreVersions: RegExp(core_1.getInput('ignore-versions')),
|
||||
token: core_1.getInput('token')
|
||||
});
|
||||
}
|
||||
|
||||
@@ -21,7 +21,10 @@ export function getVersionIds(input: Input): Observable<string[]> {
|
||||
versionInfo.length - input.minVersionsToKeep
|
||||
return numberVersionsToDelete <= 0
|
||||
? []
|
||||
: versionInfo.slice(0, numberVersionsToDelete).map(info => info.id)
|
||||
: versionInfo
|
||||
.filter(info => !input.ignoreVersions.test(info.version))
|
||||
.map(info => info.id)
|
||||
.slice(0, numberVersionsToDelete)
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ export interface InputParams {
|
||||
packageName?: string
|
||||
numOldVersionsToDelete?: number
|
||||
minVersionsToKeep?: number
|
||||
ignoreVersions?: RegExp
|
||||
token?: string
|
||||
}
|
||||
|
||||
@@ -15,6 +16,7 @@ const defaultParams = {
|
||||
packageName: '',
|
||||
numOldVersionsToDelete: 0,
|
||||
minVersionsToKeep: 0,
|
||||
ignoreVersions: new RegExp(''),
|
||||
token: ''
|
||||
}
|
||||
|
||||
@@ -25,6 +27,7 @@ export class Input {
|
||||
packageName: string
|
||||
numOldVersionsToDelete: number
|
||||
minVersionsToKeep: number
|
||||
ignoreVersions: RegExp
|
||||
token: string
|
||||
|
||||
constructor(params?: InputParams) {
|
||||
@@ -36,6 +39,7 @@ export class Input {
|
||||
this.packageName = validatedParams.packageName
|
||||
this.numOldVersionsToDelete = validatedParams.numOldVersionsToDelete
|
||||
this.minVersionsToKeep = validatedParams.minVersionsToKeep
|
||||
this.ignoreVersions = validatedParams.ignoreVersions
|
||||
this.token = validatedParams.token
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ function getActionInput(): Input {
|
||||
packageName: getInput('package-name'),
|
||||
numOldVersionsToDelete: Number(getInput('num-old-versions-to-delete')),
|
||||
minVersionsToKeep: Number(getInput('min-versions-to-keep')),
|
||||
ignoreVersions: RegExp(getInput('ignore-versions')),
|
||||
token: getInput('token')
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user