Files
2026-07-13 12:38:34 +08:00

37 lines
1.5 KiB
TypeScript

/**
* This script updates the peer dependencies of all providers to the latest version of the core package.
* It reads the core package version from the core package's package.json file.
*/
import fs from 'fs';
import path from 'path';
const corePkgPackageJson = path.resolve(__dirname, '../ts/packages/core', 'package.json');
const corePkg = JSON.parse(fs.readFileSync(corePkgPackageJson, 'utf-8'));
const coreVersion = corePkg.version;
// skip if the core package is rc, alpha or beta
if (coreVersion.includes('rc') || coreVersion.includes('alpha') || coreVersion.includes('beta')) {
console.log(`✅ Current core version is ${coreVersion}`);
console.log(
'⚠️ Skipping update of peer dependencies for rc, alpha or beta versions of the core package'
);
process.exit(0);
}
const providersDir = path.resolve(__dirname, '../packages/providers');
const providerDirs = fs.readdirSync(providersDir).filter(name => {
const fullPath = path.resolve(providersDir, name);
return fs.existsSync(path.join(fullPath, 'package.json'));
});
for (const provider of providerDirs) {
const providerPackageJson = path.resolve(providersDir, provider, 'package.json');
const providerPkg = JSON.parse(fs.readFileSync(providerPackageJson, 'utf-8'));
providerPkg.peerDependencies['@composio/core'] = `^${coreVersion}`;
fs.writeFileSync(providerPackageJson, JSON.stringify(providerPkg, null, 2));
console.log(
`✅ Updated peer dependency for ${provider} from ${providerPkg.peerDependencies['@composio/core']} -> ^${coreVersion}`
);
}