Skip to content

Commit 51fcb65

Browse files
committed
Update view-changes script
1 parent 9c8adac commit 51fcb65

File tree

2 files changed

+23
-28
lines changed

2 files changed

+23
-28
lines changed

scripts/utils/packages.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import * as fs from 'node:fs';
12
import * as path from 'node:path';
23

34
const __dirname = path.dirname(new URL(import.meta.url).pathname);
@@ -7,11 +8,24 @@ export const packagesDir = path.relative(
78
path.resolve(__dirname, '..', '..', 'packages'),
89
);
910

11+
/** @type () => string[] */
12+
export function getAllPackageNames() {
13+
return fs.readdirSync(packagesDir).filter((name) => {
14+
let dir = getPackageDir(name);
15+
return fs.existsSync(dir) && fs.statSync(dir).isDirectory();
16+
});
17+
}
18+
1019
/** @type (packageName: string) => string */
1120
export function getPackageDir(packageName) {
1221
return path.resolve(packagesDir, packageName);
1322
}
1423

24+
/** @type (packageName: string) => boolean */
25+
export function packageExists(packageName) {
26+
return fs.existsSync(getPackageDir(packageName));
27+
}
28+
1529
/** @type (packageName: string, filename: string) => string */
1630
export function getPackageFile(packageName, filename) {
1731
return path.join(getPackageDir(packageName), filename);

scripts/view-changes.js

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,5 @@
1-
import * as fs from 'node:fs';
2-
31
import { getChanges } from './utils/changes.js';
4-
import { getPackageDir, packagesDir } from './utils/packages.js';
5-
6-
let packageName = process.argv[2];
7-
8-
/** @type {(packageName: string) => import('./utils/changes.js').Changes | null} */
9-
function getPackageChanges(packageName) {
10-
let changes = getChanges(packageName, 'HEAD');
11-
12-
if (!changes || !changes.body.trim()) {
13-
return null;
14-
}
15-
16-
return changes;
17-
}
2+
import { getAllPackageNames, packageExists } from './utils/packages.js';
183

194
/** @type {(packageName: string, changes: import('./utils/changes.js').Changes) => void} */
205
function printPackageChanges(packageName, changes) {
@@ -24,15 +9,15 @@ function printPackageChanges(packageName, changes) {
249
console.log();
2510
}
2611

27-
if (packageName) {
28-
let dir = getPackageDir(packageName);
12+
let packageName = process.argv[2];
2913

30-
if (!fs.existsSync(dir)) {
14+
if (packageName) {
15+
if (!packageExists(packageName)) {
3116
console.error(`Error: Package "${packageName}" not found in ./packages`);
3217
process.exit(1);
3318
}
3419

35-
let changes = getPackageChanges(packageName);
20+
let changes = getChanges(packageName, 'HEAD');
3621

3722
if (changes) {
3823
printPackageChanges(packageName, changes);
@@ -41,18 +26,14 @@ if (packageName) {
4126
console.log();
4227
}
4328
} else {
44-
let packages = fs.readdirSync(packagesDir).filter((name) => {
45-
let dir = getPackageDir(name);
46-
return fs.existsSync(dir) && fs.statSync(dir).isDirectory();
47-
});
48-
4929
let hasChanges = false;
5030

51-
packages.forEach((pkg) => {
52-
let changes = getPackageChanges(pkg);
31+
let packageNames = getAllPackageNames();
32+
packageNames.forEach((packageName) => {
33+
let changes = getChanges(packageName, 'HEAD');
5334
if (changes) {
5435
hasChanges = true;
55-
printPackageChanges(pkg, changes);
36+
printPackageChanges(packageName, changes);
5637
}
5738
});
5839

0 commit comments

Comments
 (0)