mirror of
https://github.com/zhigang1992/react-native-firebase.git
synced 2026-04-24 04:24:52 +08:00
ci: versioning fix - again
This commit is contained in:
46
scripts/postversion.js
Normal file
46
scripts/postversion.js
Normal file
@@ -0,0 +1,46 @@
|
||||
const { sep } = require('path');
|
||||
const { execSync } = require('child_process');
|
||||
const { readFileSync, writeFileSync } = require('fs');
|
||||
|
||||
const packages = JSON.parse(execSync('lerna ls --json').toString('utf-8'));
|
||||
|
||||
const firebaseAppPackageName = '@react-native-firebase/app';
|
||||
const firebaseAppPackageVersion = packages.find(package => package.name == firebaseAppPackageName)
|
||||
.version;
|
||||
|
||||
packages.forEach(package => {
|
||||
if (package.name == firebaseAppPackageName) {
|
||||
return;
|
||||
}
|
||||
const { location } = package;
|
||||
|
||||
// ---------------------------
|
||||
// Update Peer Dependencies
|
||||
// ---------------------------
|
||||
const packageJsonPath = `${location}${sep}/package.json`;
|
||||
const packageJsonContents = JSON.parse(readFileSync(packageJsonPath).toString('utf-8'));
|
||||
if (!packageJsonContents.peerDependencies) {
|
||||
return;
|
||||
}
|
||||
if (!packageJsonContents.peerDependencies[firebaseAppPackageName]) {
|
||||
return;
|
||||
}
|
||||
if (packageJsonContents.peerDependencies[firebaseAppPackageName] === firebaseAppPackageVersion) {
|
||||
return;
|
||||
}
|
||||
|
||||
packageJsonContents.peerDependencies[firebaseAppPackageName] = firebaseAppPackageVersion;
|
||||
|
||||
writeFileSync(packageJsonPath, JSON.stringify(packageJsonContents, null, 2) + '\n');
|
||||
|
||||
execSync(`git add ${packageJsonPath}`);
|
||||
|
||||
execSync(`git commit -m "build(${packageJsonContents.name.replace('@react-native-firebase/', '')}): update core peer dependency to v${firebaseAppPackageVersion} [publish]"`);
|
||||
|
||||
console.log(
|
||||
`Updated '${firebaseAppPackageName}' peer dependency on package`,
|
||||
packageJsonContents.name,
|
||||
'to',
|
||||
packageJsonContents.peerDependencies[firebaseAppPackageName],
|
||||
);
|
||||
});
|
||||
@@ -4,14 +4,7 @@ const { readFileSync, writeFileSync } = require('fs');
|
||||
|
||||
const packages = JSON.parse(execSync('lerna ls --json').toString('utf-8'));
|
||||
|
||||
const firebaseAppPackageName = '@react-native-firebase/app';
|
||||
const firebaseAppPackageVersion = packages.find(package => package.name == firebaseAppPackageName)
|
||||
.version;
|
||||
|
||||
packages.forEach(package => {
|
||||
if (package.name == firebaseAppPackageName) {
|
||||
return;
|
||||
}
|
||||
const { location } = package;
|
||||
|
||||
// ---------------------------
|
||||
@@ -19,6 +12,8 @@ packages.forEach(package => {
|
||||
// ---------------------------
|
||||
// Links to commits/PRs are broken on conventional-commits-changelog
|
||||
const changelogPath = `${location}${sep}/CHANGELOG.md`;
|
||||
console.log(`Fixing changelog links & formatting: ${changelogPath}`);
|
||||
|
||||
let changelogContents = readFileSync(changelogPath).toString('utf-8');
|
||||
changelogContents = changelogContents.replace(
|
||||
/github\.com\/invertase\/react-native-firebase\/(tree\/master\/packages\/[a-z-]*\/)/gm,
|
||||
@@ -30,34 +25,4 @@ packages.forEach(package => {
|
||||
// Format Changelog
|
||||
// ---------------------------
|
||||
execSync(`prettier --write ${changelogPath}`);
|
||||
|
||||
// ---------------------------
|
||||
// Update Peer Dependencies
|
||||
// ---------------------------
|
||||
const packageJsonPath = `${location}${sep}/package.json`;
|
||||
const packageJsonContents = JSON.parse(readFileSync(packageJsonPath).toString('utf-8'));
|
||||
if (!packageJsonContents.peerDependencies) {
|
||||
return;
|
||||
}
|
||||
if (!packageJsonContents.peerDependencies[firebaseAppPackageName]) {
|
||||
return;
|
||||
}
|
||||
if (packageJsonContents.peerDependencies[firebaseAppPackageName] === firebaseAppPackageVersion) {
|
||||
return;
|
||||
}
|
||||
|
||||
packageJsonContents.peerDependencies[firebaseAppPackageName] = firebaseAppPackageVersion;
|
||||
|
||||
writeFileSync(packageJsonPath, JSON.stringify(packageJsonContents, null, 2) + '\n');
|
||||
|
||||
execSync(`git add ${packageJsonPath}`);
|
||||
|
||||
execSync(`git commit -m "build(${packageJsonContents.name.replace('@react-native-firebase/', '')}): update core peer dependency to v${firebaseAppPackageVersion} [publish]"`);
|
||||
|
||||
console.log(
|
||||
`Updated '${firebaseAppPackageName}' peer dependency on package`,
|
||||
packageJsonContents.name,
|
||||
'to',
|
||||
packageJsonContents.peerDependencies[firebaseAppPackageName],
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user