Download scripts/prepare-github-release.js from SaylorTwift/gemini-cli: direct link, hf CLI and curl.
- Browser
- Download file 2.13 kB
-
https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/scripts/prepare-github-release.js
- Command line
-
hf download hf://SaylorTwift/gemini-cli/scripts/prepare-github-release.js
-
curl -L -o prepare-github-release.js https://huggingface.co/SaylorTwift/gemini-cli/resolve/main/scripts/prepare-github-release.js
2.13 kB
| /** | |
| * @license | |
| * Copyright 2025 Google LLC | |
| * SPDX-License-Identifier: Apache-2.0 | |
| */ | |
| import fs from 'node:fs'; | |
| import path from 'node:path'; | |
| const rootDir = process.cwd(); | |
| function updatePackageJson(packagePath, updateFn) { | |
| const packageJsonPath = path.resolve(rootDir, packagePath); | |
| const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')); | |
| updateFn(packageJson); | |
| fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2)); | |
| } | |
| // Copy bundle directory into packages/cli | |
| const sourceBundleDir = path.resolve(rootDir, 'bundle'); | |
| const destBundleDir = path.resolve(rootDir, 'packages/cli/bundle'); | |
| if (fs.existsSync(sourceBundleDir)) { | |
| fs.rmSync(destBundleDir, { recursive: true, force: true }); | |
| fs.cpSync(sourceBundleDir, destBundleDir, { recursive: true }); | |
| console.log('Copied bundle/ directory to packages/cli/'); | |
| } else { | |
| console.error( | |
| 'Error: bundle/ directory not found at project root. Please run `npm run bundle` first.', | |
| ); | |
| process.exit(1); | |
| } | |
| // Overwrite the .npmrc in the core package to point to the GitHub registry. | |
| const coreNpmrcPath = path.resolve(rootDir, 'packages/core/.npmrc'); | |
| fs.writeFileSync( | |
| coreNpmrcPath, | |
| '@google-gemini:registry=https://npm.pkg.github.com/', | |
| ); | |
| console.log('Wrote .npmrc for @google-gemini scope to packages/core/'); | |
| // Update @google/gemini-cli | |
| updatePackageJson('packages/cli/package.json', (pkg) => { | |
| pkg.name = '@google-gemini/gemini-cli'; | |
| pkg.files = ['bundle/']; | |
| pkg.bin = { | |
| gemini: 'bundle/gemini.js', | |
| }; | |
| // Remove fields that are not relevant to the bundled package. | |
| delete pkg.dependencies; | |
| delete pkg.devDependencies; | |
| delete pkg.scripts; | |
| delete pkg.main; | |
| delete pkg.config; // Deletes the sandboxImageUri | |
| }); | |
| // Update @google/gemini-cli-a2a-server | |
| updatePackageJson('packages/a2a-server/package.json', (pkg) => { | |
| pkg.name = '@google-gemini/gemini-cli-a2a-server'; | |
| }); | |
| // Update @google/gemini-cli-core | |
| updatePackageJson('packages/core/package.json', (pkg) => { | |
| pkg.name = '@google-gemini/gemini-cli-core'; | |
| }); | |
| console.log('Successfully prepared packages for GitHub release.'); | |