Refactor readPackageVersion function to support multiple candidate paths for package.json
Some checks failed
Code Analysis and Production Deploy / analyze (push) Has been skipped
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Successful in 1m58s
Code Analysis and Production Deploy / analyze (pull_request) Successful in 2m47s
Code Analysis and Production Deploy / deploy-production (pull_request) Has been skipped
Code Analysis and Production Deploy / deploy-test (pull_request) Has been skipped
Require Package Version Change / check (pull_request) Failing after 9s
Some checks failed
Code Analysis and Production Deploy / analyze (push) Has been skipped
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Successful in 1m58s
Code Analysis and Production Deploy / analyze (pull_request) Successful in 2m47s
Code Analysis and Production Deploy / deploy-production (pull_request) Has been skipped
Code Analysis and Production Deploy / deploy-test (pull_request) Has been skipped
Require Package Version Change / check (pull_request) Failing after 9s
- Updated the logic to read the package version from either the current directory or the parent directory. - Added error handling to continue searching through candidate paths if the first read fails.
This commit is contained in:
@@ -3,9 +3,24 @@ import path from 'path'
|
|||||||
import { getUserFromToken } from '../../utils/auth.js'
|
import { getUserFromToken } from '../../utils/auth.js'
|
||||||
|
|
||||||
async function readPackageVersion() {
|
async function readPackageVersion() {
|
||||||
const packageJsonPath = path.join(process.cwd(), 'package.json')
|
const cwd = process.cwd()
|
||||||
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'))
|
const candidatePaths = [
|
||||||
return String(packageJson.version || '')
|
path.join(cwd, 'package.json'),
|
||||||
|
path.join(cwd, '../package.json')
|
||||||
|
]
|
||||||
|
|
||||||
|
for (const packageJsonPath of candidatePaths) {
|
||||||
|
try {
|
||||||
|
const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'))
|
||||||
|
if (packageJson?.version) {
|
||||||
|
return String(packageJson.version)
|
||||||
|
}
|
||||||
|
} catch (_error) {
|
||||||
|
// Try next candidate path (e.g. .output runtime)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ''
|
||||||
}
|
}
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineEventHandler(async (event) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user