From 67b72722493a9a8b25b31e851c05bcbe0edf075a Mon Sep 17 00:00:00 2001
From: Emanuel Ferreira <contatoferreirads@gmail.com>
Date: Thu, 14 Mar 2024 09:34:21 -0300
Subject: [PATCH] feat: expected minor version (#644)

---
 package.json                   |  5 +++--
 packages/core/package.json     |  1 +
 scripts/check-minor-version.js | 31 +++++++++++++++++++++++++++++++
 3 files changed, 35 insertions(+), 2 deletions(-)
 create mode 100644 scripts/check-minor-version.js

diff --git a/package.json b/package.json
index 45e43fa47..52415a648 100644
--- a/package.json
+++ b/package.json
@@ -11,8 +11,9 @@
     "prepare": "husky",
     "test": "turbo run test",
     "type-check": "tsc -b --diagnostics",
-    "release": "pnpm run build:release && changeset publish",
-    "new-version": "pnpm run build:release && changeset version",
+    "release": "pnpm run check-minor-version && pnpm run build:release && changeset publish",
+    "check-minor-version": "node ./scripts/check-minor-version",
+    "new-version": "pnpm run build:release && changeset version && pnpm run check-minor-version",
     "new-snapshot": "pnpm run build:release && changeset version --snapshot"
   },
   "devDependencies": {
diff --git a/packages/core/package.json b/packages/core/package.json
index e57531b71..23b3e9575 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,7 @@
 {
   "name": "llamaindex",
   "version": "0.2.0",
+  "expectedMinorVersion": "2",
   "license": "MIT",
   "type": "module",
   "dependencies": {
diff --git a/scripts/check-minor-version.js b/scripts/check-minor-version.js
new file mode 100644
index 000000000..2203daa2c
--- /dev/null
+++ b/scripts/check-minor-version.js
@@ -0,0 +1,31 @@
+const fs = require("fs");
+
+const packageJson = JSON.parse(
+  fs.readFileSync("./packages/core/package.json", "utf8"),
+);
+
+const versions = packageJson.version.split(".");
+const minorVersion = packageJson.version.split(".")[1];
+const expectedMinorVersion = packageJson.expectedMinorVersion;
+
+if (versions.length !== 3) {
+  console.error(
+    "Version must be in format x.y.z but is " + packageJson.version,
+  );
+  process.exit(1);
+}
+
+if (minorVersion !== expectedMinorVersion) {
+  console.error(
+    "Minor version must be " +
+      expectedMinorVersion +
+      " but is " +
+      minorVersion +
+      ". Please adjust that on the packages/core/package.json.",
+  );
+  process.exit(1);
+}
+
+console.log("Current expected minor version is: " + expectedMinorVersion);
+console.log("Minor version is: " + minorVersion);
+console.log("Good to go!");
-- 
GitLab