Skip to content

[Bug]: 当 ./config/public 目录下放置带有英文括号的文件时出错 #8033

@JiaJunLee

Description

@JiaJunLee

版本信息

System:
    OS: Windows 11 10.0.22631
    CPU: (28) x64 Intel(R) Core(TM) i7-14700
    Memory: 2.81 GB / 31.69 GB
  Browsers:
    Chrome: 142.0.7444.176
    Edge: Chromium (140.0.3485.54)
    Firefox: 140.4.0 - C:\Program Files (x86)\Mozilla Firefox\firefox.exe
    Internet Explorer: 11.0.22621.3527
  npmPackages:
    @modern-js/app-tools: 2.69.4 => 2.69.4
    @modern-js/runtime: 2.69.4 => 2.69.4
    @modern-js/tsconfig: 2.69.4 => 2.69.4

问题详情

项目访问出现错误

  • 当public中文件名存在 ( 左括号 或 ) 右括号时
    SyntaxError: Invalid regular expression: /^/test(bug.txt(?:|/.)$/: Unterminated group
    at new RegExp ()
    at buildWildcardRegExp (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\reg-exp-router\router.js:33:68)
    at RegExpRouter.add (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\reg-exp-router\router.js:137:18)
    at C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\smart-router\router.js:50:18
    at Array.forEach ()
    at SmartRouter.match (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\smart-router\router.js:49:16)
    at Hono.matchRoute (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:230:24)
    at Hono.dispatch (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:243:30)
    at Hono.fetch (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:90:19)
    at Server. (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm@modern-js+server-core@2.69_bf1aa2c60e1df08223539606026349b9\node_modules@modern-js\server-core\dist\cjs\adapters\node\node.js:161:30)
    SyntaxError: Invalid regular expression: /^/test(bug.txt(?:|/.
    )$/: Unterminated group
    at new RegExp ()
    at buildWildcardRegExp (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\reg-exp-router\router.js:33:68)
    at RegExpRouter.add (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\reg-exp-router\router.js:137:18)
    at C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\smart-router\router.js:50:18
    at Array.forEach ()
    at SmartRouter.match (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\smart-router\router.js:49:16)
    at Hono.matchRoute (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:230:24)
    at Hono.dispatch (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:243:30)
    at Hono.fetch (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:90:19)
    at Server. (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm@modern-js+server-core@2.69_bf1aa2c60e1df08223539606026349b9\node_modules@modern-js\server-core\dist\cjs\adapters\node\node.js:161:30)
    SyntaxError: Invalid regular expression: /^/test(bug.txt(?:|/.*)$/: Unterminated group
    at new RegExp ()
    at buildWildcardRegExp (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\reg-exp-router\router.js:33:68)
    at RegExpRouter.add (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\reg-exp-router\router.js:137:18)
    at C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\smart-router\router.js:50:18
    at Array.forEach ()
    at SmartRouter.match (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\router\smart-router\router.js:49:16)
    at Hono.matchRoute (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:230:24)
    at Hono.dispatch (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:243:30)
    at Hono.fetch (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm\hono@3.12.12\node_modules\hono\dist\cjs\hono-base.js:90:19)
    at Server. (C:\projects\modernjs-public-file-bug-reproduce\node_modules.pnpm@modern-js+server-core@2.69_bf1aa2c60e1df08223539606026349b9\node_modules@modern-js\server-core\dist\cjs\adapters\node\node.js:161:30)

  • 当public中文件名存在 () 完整的括号时
    [ Module Federation Manifest Plugin ] Manifest Link: http://localhost:4000/static/mf-manifest.json
    ● web ━━━━━━━━━━━━━━━━━━━━━━━━━ (100%) emitting after emit
    ready built in 1.33 s
    TypeError: Cannot read properties of undefined (reading 'length')
    at Hono.dispatch (C:\projects*\app\node_modules\hono\dist\cjs\hono-base.js:249:24)
    at Hono.fetch (C:\projects*
    \app\node_modules\hono\dist\cjs\hono-base.js:90:19)
    at Server. (C:\projects*\app\node_modules@modern-js\server-core\dist\cjs\adapters\node\node.js:161:30)
    at Server.emit (node:events:518:28)
    at parserOnIncoming (node:_http_server:1153:12)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:117:17)
    TypeError: Cannot read properties of undefined (reading 'length')
    at Hono.dispatch (C:\projects*
    \app\node_modules\hono\dist\cjs\hono-base.js:249:24)
    at Hono.fetch (C:\projects*\app\node_modules\hono\dist\cjs\hono-base.js:90:19)
    at Server. (C:\projects*
    \app\node_modules@modern-js\server-core\dist\cjs\adapters\node\node.js:161:30)
    at Server.emit (node:events:518:28)
    at parserOnIncoming (node:_http_server:1153:12)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:117:17)

复现链接

https://github.com/JiaJunLee/modernjs-public-file-bug-reproduce.git

复现步骤

在 ./config/public 目录下放置带有英文括号的文件即可复现

相同的问题,目前是未解决的

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions