Skip to content

Commit 2f149ff

Browse files
committed
🔧 fix(type generator): loose path generated file mapping
1 parent 4f3e93e commit 2f149ff

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 1.3.9 - 4 Sep 2025
2+
Bug fix:
3+
- type generator: loose path generated file mapping
4+
15
# 1.3.8 - 4 Sep 2025
26
Bug fix:
37
- type generator: if failed, do not generate empty JSON

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@elysiajs/openapi",
3-
"version": "1.3.8",
3+
"version": "1.3.9",
44
"description": "Plugin for Elysia to auto-generate API documentation",
55
"author": {
66
"name": "saltyAom",

src/gen/index.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,16 +147,35 @@ export const fromTypes =
147147
.replace(/.tsx$/, '.ts')
148148
.replace(/.ts$/, '.d.ts')
149149

150-
const targetFile =
150+
let targetFile =
151151
(overrideOutputPath
152152
? typeof overrideOutputPath === 'string'
153153
? overrideOutputPath.startsWith('/')
154154
? overrideOutputPath
155155
: join(tmpRoot, 'dist', overrideOutputPath)
156156
: overrideOutputPath(tmpRoot)
157-
: undefined) ?? join(tmpRoot, 'dist', fileName)
157+
: undefined) ??
158+
join(
159+
tmpRoot,
160+
'dist',
161+
// remove leading like src or something similar
162+
fileName.slice(fileName.indexOf('/') + 1)
163+
)
164+
165+
let existed = existsSync(targetFile)
166+
167+
if (!existed && overrideOutputPath) {
168+
targetFile = join(
169+
tmpRoot,
170+
'dist',
171+
// use original file name as-is eg. in monorepo
172+
fileName
173+
)
174+
175+
existed = existsSync(targetFile)
176+
}
158177

159-
if (!existsSync(targetFile)) {
178+
if (!existed) {
160179
rmSync(join(tmpRoot, 'tsconfig.json'))
161180

162181
console.warn(

0 commit comments

Comments
 (0)