summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/prepare-cli-packagejson.js6
-rw-r--r--scripts/prepublish.js45
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.');