Skip to content

Commit 05fcfb9

Browse files
Merge pull request #18 from wise-king-sullyman/add-external-repo-update-importer
chore(): added helper script for grabbing changes from external repo
2 parents c9470c5 + 9e6306c commit 05fcfb9

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
"test": "TZ=EST jest packages",
2020
"test:a11y": "yarn workspace @patternfly/react-catalog-view-extension test:a11y",
2121
"serve:a11y": "yarn workspace @patternfly/react-catalog-view-extension serve:a11y",
22-
"generate": "yarn workspace @patternfly/react-catalog-view-extension generate"
22+
"generate": "yarn workspace @patternfly/react-catalog-view-extension generate",
23+
"update": "node scripts/importUpdatesFromOldRepo.js"
2324
},
2425
"devDependencies": {
2526
"react": "^18",
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/* eslint-disable no-console */
2+
3+
// this file is just temporary to assist in keeping the changelog and dep bumps up to date until we complete the extraction
4+
const fs = require('fs-extra');
5+
const path = require('path');
6+
const fetch = require('node-fetch');
7+
const { isEqual } = require('lodash');
8+
9+
const packageName = 'react-catalog-view-extension';
10+
11+
const rawPreviousRepoLink = `https://raw.githubusercontent.com/patternfly/patternfly-react/main/packages/${packageName}`;
12+
13+
const getFileContent = async (fileName) => {
14+
try {
15+
const res = await fetch(`${rawPreviousRepoLink}/${fileName}`);
16+
return res.text();
17+
} catch (err) {
18+
console.log('Error', err);
19+
}
20+
};
21+
22+
const updateChangelog = async () => {
23+
const changelogPath = 'packages/module/CHANGELOG.md';
24+
const externalChangelog = await getFileContent('CHANGELOG.md');
25+
const internalChangelog = fs.readFileSync(path.join(process.cwd(), changelogPath), 'utf-8');
26+
27+
if (externalChangelog === internalChangelog) {
28+
console.log('no changes found in changelog');
29+
} else {
30+
fs.outputFileSync(changelogPath, externalChangelog);
31+
console.log('changelog updated');
32+
}
33+
};
34+
35+
const updatePackageFile = async () => {
36+
const externalPackageFile = await getFileContent('package.json');
37+
const { dependencies: externalDeps, devDependencies: externalDevDeps } = JSON.parse(externalPackageFile);
38+
39+
const internalPackageFilePath = 'packages/module/package.json';
40+
const internalPackageFile = fs.readFileSync(path.join(process.cwd(), internalPackageFilePath), 'utf-8');
41+
const internalParsedPackageFile = JSON.parse(internalPackageFile);
42+
const { dependencies: internalDeps, devDependencies: internalDevDeps } = internalParsedPackageFile;
43+
44+
const mergedDeps = { ...internalDeps, ...externalDeps };
45+
const mergedDevDeps = { ...internalDevDeps, ...externalDevDeps }
46+
47+
if (isEqual(internalDeps, mergedDeps) && isEqual(internalDevDeps, mergedDevDeps)) {
48+
console.log('no changes found in dependencies or devDependencies');
49+
} else {
50+
const newPackageFile = {
51+
...internalParsedPackageFile,
52+
dependencies: mergedDeps,
53+
devDependencies: mergedDevDeps
54+
};
55+
const newPackageFileString = `${JSON.stringify(newPackageFile, null, 2)}\n`;
56+
57+
fs.outputFileSync(internalPackageFilePath, newPackageFileString);
58+
console.log('package file updated');
59+
}
60+
};
61+
62+
updateChangelog();
63+
updatePackageFile();

0 commit comments

Comments
 (0)