mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
46 lines
1.8 KiB
JavaScript
Executable File
46 lines
1.8 KiB
JavaScript
Executable File
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 = undefined;
|
|
if (tagVersion !== 'latest') {
|
|
console.log('alpha: taking most recent')
|
|
|
|
const filteredAlphaPkgs = availablePakages.filter( (item) => item.name.match('^[0-9]*.[0-9]*.[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]*$'));
|
|
latestPkgToUpdate = filteredReleasePkgs[0];
|
|
}
|
|
|
|
if (latestPkgToUpdate === undefined) {
|
|
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 };
|
|
}
|
|
}
|
|
|
|
}
|
|
|