Skip to content

Commit 4478f04

Browse files
gennethYuna Seol
authored andcommitted
refactor: derive optionalDependencies from root instead of hardcoding
Instead of maintaining a hardcoded allowlist of native modules, copy all optionalDependencies from the root package.json and exclude only gemini-cli-devtools. Less brittle if new native deps are added in the future.
1 parent ede0991 commit 4478f04

File tree

1 file changed

+3
-20
lines changed

1 file changed

+3
-20
lines changed

scripts/prepare-npm-release.js

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,10 @@ if (fs.existsSync(sourceBundleDir)) {
3535
process.exit(1);
3636
}
3737

38-
// Read native module versions from root package.json
38+
// Inherit optionalDependencies from root package.json, excluding dev-only packages.
3939
const rootPkg = readJson('package.json');
40-
const rootOptional = rootPkg.optionalDependencies || {};
41-
42-
const nativeModules = [
43-
'@lydell/node-pty',
44-
'@lydell/node-pty-darwin-arm64',
45-
'@lydell/node-pty-darwin-x64',
46-
'@lydell/node-pty-linux-x64',
47-
'@lydell/node-pty-win32-arm64',
48-
'@lydell/node-pty-win32-x64',
49-
'keytar',
50-
'node-pty',
51-
];
52-
53-
const optionalDependencies = {};
54-
for (const mod of nativeModules) {
55-
if (rootOptional[mod]) {
56-
optionalDependencies[mod] = rootOptional[mod];
57-
}
58-
}
40+
const optionalDependencies = { ...(rootPkg.optionalDependencies || {}) };
41+
delete optionalDependencies['gemini-cli-devtools'];
5942

6043
// Update @google/gemini-cli package.json for bundled npm release
6144
const cliPkgPath = 'packages/cli/package.json';

0 commit comments

Comments
 (0)