diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/prepare-cli-packagejson.js | 6 | ||||
| -rw-r--r-- | scripts/prepublish.js | 45 |
2 files changed, 45 insertions, 6 deletions
diff --git a/scripts/prepare-cli-packagejson.js b/scripts/prepare-cli-packagejson.js index d7960708..33bbb7f8 100644 --- a/scripts/prepare-cli-packagejson.js +++ b/scripts/prepare-cli-packagejson.js @@ -46,12 +46,6 @@ if (!cliPackageJson.config) { } cliPackageJson.config.sandboxImageUri = containerImageUri; -// Remove 'prepublishOnly' from scripts if it exists -if (cliPackageJson.scripts && cliPackageJson.scripts.prepublishOnly) { - delete cliPackageJson.scripts.prepublishOnly; - console.log('Removed prepublishOnly script from packages/cli/package.json'); -} - fs.writeFileSync( cliPackageJsonPath, JSON.stringify(cliPackageJson, null, 2) + '\n', diff --git a/scripts/prepublish.js b/scripts/prepublish.js new file mode 100644 index 00000000..f97e450f --- /dev/null +++ b/scripts/prepublish.js @@ -0,0 +1,45 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import fs from 'fs'; +import path from 'path'; + +const packageJsonPath = path.resolve(process.cwd(), 'package.json'); +const readmePath = path.resolve(process.cwd(), 'README.md'); +const licensePath = path.resolve(process.cwd(), 'LICENSE'); + +const errors = []; + +// 1. Check for package.json and the 'repository' field +// Required for publishing through wombat-dressing-room +if (!fs.existsSync(packageJsonPath)) { + errors.push(`Error: package.json not found in ${process.cwd()}`); +} else { + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8')); + if (packageJson.repository !== 'google-gemini/gemini-cli') { + errors.push( + `Error: The "repository" field in ${packageJsonPath} must be "google-gemini/gemini-cli".`, + ); + } +} + +// 2. Check for README.md +if (!fs.existsSync(readmePath)) { + errors.push(`Error: README.md not found in ${process.cwd()}`); +} + +// 3. Check for LICENSE +if (!fs.existsSync(licensePath)) { + errors.push(`Error: LICENSE file not found in ${process.cwd()}`); +} + +if (errors.length > 0) { + console.error('Pre-publish checks failed:'); + errors.forEach((error) => console.error(`- ${error}`)); + process.exit(1); +} + +console.log('Pre-publish checks passed.'); |
