mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[AAE-13775] Upstream Js API (#8482)
* Be able to upstream on tag alpha|latest * fix codeQL
This commit is contained in:
45
scripts/github/update/latest-version-of.js
Executable file
45
scripts/github/update/latest-version-of.js
Executable file
@@ -0,0 +1,45 @@
|
||||
module.exports = async ({github, context, dependencyName, tagVersion = 'alpha' }) => {
|
||||
|
||||
console.log('owner', context.repo.owner)
|
||||
const organization = 'alfresco';
|
||||
const dependencyFullName = `@${organization}/${dependencyName}`;
|
||||
|
||||
console.log('Looking versions for: ', dependencyFullName);
|
||||
|
||||
const pjson = require('../../../package.json');
|
||||
const currentDependency = pjson?.dependencies[dependencyFullName];
|
||||
console.log('current from package.json:', currentDependency);
|
||||
|
||||
const { data: availablePakages } = await github.rest.packages.getAllPackageVersionsForPackageOwnedByOrg({
|
||||
package_type: 'npm',
|
||||
package_name: dependencyName,
|
||||
org: organization
|
||||
});
|
||||
|
||||
let latestPkgToUpdate = null;
|
||||
if (tagVersion === 'alpha') {
|
||||
console.log('alpha: taking most recent')
|
||||
const filteredAlphaPkgs = availablePakages.filter( (item) => item.name.match('^[0-9]*.[0-9]*.[0-9]*.A.[0-9].[0-9]*$') )
|
||||
latestPkgToUpdate = filteredAlphaPkgs[0];
|
||||
} else {
|
||||
console.log('release: taking most recent')
|
||||
const filteredReleasePkgs = availablePakages.filter( (item) => item.name.match('^[0-9]*.[0-9]*.[0-9]*.A.[0-9]*$') || item.name.match('^[0-9]*.[0-9]*.[0-9]*$') )
|
||||
latestPkgToUpdate = filteredReleasePkgs[0];
|
||||
}
|
||||
|
||||
if (latestPkgToUpdate === null) {
|
||||
console.log(`Something went wrong. Not able to find any version.`);
|
||||
return { hasVersionNew: 'false' };
|
||||
} else {
|
||||
console.log(`latest tag:${tagVersion} from NPM: `, latestPkgToUpdate.name);
|
||||
|
||||
if (currentDependency === latestPkgToUpdate?.name) {
|
||||
console.log(`There is no new version published for ${dependencyFullName}.`);
|
||||
return { hasVersionNew: 'false' };
|
||||
} else {
|
||||
return { hasVersionNew: 'true', latestVersion: latestPkgToUpdate?.name };
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user