fix(e2e): 修复ESM模式下__dirname未定义导致Staging E2E失败 #647

Merged
auto-approve-bot merged 1 commits from fix/e2e-esm-dirname into develop 2026-07-20 17:57:04 +08:00
Owner

问题

Staging E2E 100%失败,2个上传类用例挂掉:

  • core-generation: walks through 5-step wizard and starts generation
  • core-upload: uploads a video asset and shows it in the asset library

错误:

ReferenceError: __dirname is not defined
  at core-generation.spec.ts:93
  at core-upload.spec.ts:121

根因

Playwright 在 ESM 模式下运行,CommonJS 的 __dirname 全局变量不存在。

修复

使用 ESM 兼容方式获取当前目录:

import { fileURLToPath } from "node:url"
const __dirname = path.dirname(fileURLToPath(import.meta.url))

影响范围

只修改2个E2E测试文件,不影响业务代码。

## 问题 Staging E2E 100%失败,2个上传类用例挂掉: - core-generation: walks through 5-step wizard and starts generation - core-upload: uploads a video asset and shows it in the asset library 错误: ``` ReferenceError: __dirname is not defined at core-generation.spec.ts:93 at core-upload.spec.ts:121 ``` ## 根因 Playwright 在 ESM 模式下运行,CommonJS 的 `__dirname` 全局变量不存在。 ## 修复 使用 ESM 兼容方式获取当前目录: ```typescript import { fileURLToPath } from "node:url" const __dirname = path.dirname(fileURLToPath(import.meta.url)) ``` ## 影响范围 只修改2个E2E测试文件,不影响业务代码。
xiaoxia added 1 commit 2026-07-20 17:49:28 +08:00
fix(e2e): 修复ESM模式下__dirname未定义导致Staging E2E失败
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 7s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 20s
AI Code Review / AI Code Review (pull_request) Failing after 24s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 5m14s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 6m8s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m23s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 7m32s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 34s
52ec8d658f
根因:Playwright在ESM模式下运行,CommonJS的__dirname全局变量不存在。
修复:使用fileURLToPath(import.meta.url) + path.dirname 实现ESM兼容的__dirname。

影响用例:
- core-generation.spec.ts: walks through 5-step wizard and starts generation
- core-upload.spec.ts: uploads a video asset and shows it in the asset library
auto-approve-bot approved these changes 2026-07-20 17:55:53 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-20 17:55:54 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot merged commit 01acf68d25 into develop 2026-07-20 17:57:04 +08:00
auto-approve-bot deleted branch fix/e2e-esm-dirname 2026-07-20 17:57:04 +08:00

🗑️ 预览环境已清理

PR #647 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #647 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.