diff --git a/package.json b/package.json index 27960070a..1425d5e78 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "dev": "turbo run dev --force", "dev-be": "turbo run dev --force --filter @monkeytype/backend", "dev-fe": "turbo run dev --force --filter @monkeytype/frontend", - "dev-pkg": "turbo run dev ---force -filter=\"./packages/*\"", + "dev-pkg": "turbo run dev --force --filter=\"./packages/*\"", "start": "turbo run start", "start-be": "turbo run start --filter @monkeytype/backend", "start-fe": "turbo run start --filter @monkeytype/frontend", @@ -78,6 +78,6 @@ "eslint" ] }, - "version": "24.32.0", + "version": "24.34.0", "packageManager": "pnpm@9.6.0" } diff --git a/packages/release/package.json b/packages/release/package.json index fc45a9e23..c461184ce 100644 --- a/packages/release/package.json +++ b/packages/release/package.json @@ -3,7 +3,7 @@ "private": true, "type": "module", "scripts": { - "dev": "nodemon --watch src --exec 'node ./src/index.js --dry'", + "dev": "nodemon --watch src --exec \"node ./src/index.js --dry\"", "dev-changelog": "nodemon ./src/buildChangelog.js", "lint": "eslint \"./**/*.js\"", "purge-cf-cache": "./bin/purgeCfCache.sh" @@ -22,6 +22,5 @@ "@octokit/rest": "20.1.1", "dotenv": "16.4.5", "readline-sync": "1.4.10" - }, - "version": "24.34.0" + } } diff --git a/packages/release/src/buildChangelog.js b/packages/release/src/buildChangelog.js index 2f1f832f1..eeb61a6eb 100644 --- a/packages/release/src/buildChangelog.js +++ b/packages/release/src/buildChangelog.js @@ -37,18 +37,20 @@ const logDelimiter = "thisismylogdelimiterthatwilldefinitelynotappearintheactualcommitmessage"; async function getLog() { - return new Promise((resolve, reject) => { - exec( - `git log --oneline $(git describe --tags --abbrev=0 @^)..@ --pretty="format:${lineDelimiter}%H${logDelimiter}%h${logDelimiter}%s${logDelimiter}%b"`, - (err, stdout, _stderr) => { - if (err) { - reject(err); - } - + function execPromise(command) { + return new Promise((resolve, reject) => { + exec(command, (err, stdout, _stderr) => { + if (err) reject(err); resolve(stdout); - } - ); - }); + }); + }); + } + + return execPromise(`git describe --tags --abbrev=0 HEAD^`).then((lastTag) => + execPromise( + `git log --oneline ${lastTag.trim()}..HEAD --pretty="format:${lineDelimiter}%H${logDelimiter}%h${logDelimiter}%s${logDelimiter}%b"` + ) + ); } function itemIsAddingQuotes(item) { @@ -84,7 +86,7 @@ const titles = { function getPrLink(pr) { const prNum = pr.replace("#", ""); - return `[#${prNum}](https://github.com/monkeytypegame/monkeytype/issues/${prNum})`; + return `[#${prNum}](https://github.com/monkeytypegame/monkeytype/pull/${prNum})`; } function getCommitLink(hash, longHash) { @@ -249,19 +251,11 @@ function convertStringToLog(logString) { //split message using regex based on fix(language): spelling mistakes in Nepali wordlist and quotes (sapradhan) (#4528) //scope is optional, username is optional, pr number is optional - const [_, type, scope, message, message2, message3] = title.split( - /^(\w+)(?:\(([^)]+)\))?:\s+(.+?)\s*(?:\(([^)]+)\))?(?:\s+\(([^)]+)\))?(?:\s+\(([^)]+)\))?$/ + const [_, type, scope, message, username, pr] = title.split( + /^(\w+)(?:\(([^)]+)\))?:\s+(.+?)(?:\s*\((@[^)]+)\))?(?:\s+\((#[^)]+)\))?$/ ); - const usernames = message2 && message3 ? message2.split(", ") : []; - - let pr; - if (message2 && message3) { - pr = message3; - } else if (message2 && !message3) { - pr = message2; - } - + const usernames = username ? username.split(", ") : []; const prs = pr ? pr.split(", ") : []; if (type && message) { @@ -276,7 +270,7 @@ function convertStringToLog(logString) { scope, message, usernames: usernames || [], - prs, + prs: prs || [], body: body || "", }); } else { diff --git a/packages/release/src/index.js b/packages/release/src/index.js index fd6fcf716..8565ca391 100755 --- a/packages/release/src/index.js +++ b/packages/release/src/index.js @@ -120,7 +120,7 @@ const updatePackage = (newVersion) => { console.log(`[Dry Run] Updated package.json to version ${newVersion}`); return; } - const packagePath = path.resolve(__dirname, "../package.json"); + const packagePath = `${PROJECT_ROOT}/package.json`; // Read the package.json file const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"));