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.
41 lines
957 B
JavaScript
41 lines
957 B
JavaScript
import { promises as fs } from 'fs'
|
|
import path from 'path'
|
|
import { getUserFromToken } from '../../utils/auth.js'
|
|
|
|
async function readPackageVersion() {
|
|
const cwd = process.cwd()
|
|
const candidatePaths = [
|
|
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) => {
|
|
const token = getCookie(event, 'auth_token')
|
|
const user = token ? await getUserFromToken(token) : null
|
|
|
|
if (!user) {
|
|
throw createError({
|
|
statusCode: 401,
|
|
statusMessage: 'Nicht authentifiziert'
|
|
})
|
|
}
|
|
|
|
return {
|
|
version: await readPackageVersion()
|
|
}
|
|
})
|