37 lines
1.5 KiB
TypeScript
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}`
|
|
);
|
|
}
|