未知的文件扩展名 ".ts" cypress.config.ts on CI



当我在GitLab CI环境中运行npm run cypress:run时,我得到错误:

您的配置文件无效://WebApp/cypress.config.ts它在需要时抛出了一个错误,请检查下面的堆栈跟踪:类型错误[ERR_UNKNOWN_FILE_EXTENSION]:未知的文件扩展名;。ts";对于//WebApp/cypress.config.ts

test:cypress:
image:
name: cypress/included:10.3.1-typescript
entrypoint: ['']
stage: test
script:
- yarn install --frozen-lockfile
- cd WebApp
- npm run cypress:run
rules:
- *branch

如果我从WebApp文件夹(其中cypress.config.ts在根目录中(本地运行npm run cypress:run,我没有问题。当我做npx cypress:run时也没有问题

然而,如果我在本地从父文件夹运行npx cypress run --config-file WebApp/cypress.config.ts,我会得到错误:

未知的文件扩展名"。ts";

有什么想法吗?Cypress在本地工作,但在CI上配置文件不正确?

我用更多信息更新了这个github问题。

这是因为你的机器上全局安装了typescript,所以它在本地可以正常工作,但在CI中不行。

本质上,typescript在运行cyprus命令的文件夹中,以便正确检测typescript。

我选择了:

script:
- npm install --global serve
- serve ./build --listen 3000 &
- rm package*
- npm install @percy/cypress typescript
- npm install --global @percy/cli
- percy exec --verbose -- cypress run

只是安装了运行e2e测试的最低要求/build是另一次运行中的工件,如果您以前没有使用过percy,那么它真的很棒。

这在今天看来仍然是LTS 10.10.0 的一个问题

更改新安装的cypress.config.ts->塞浦路斯配置.js和使用一样需要证明是成功的。

module.exports = require('cypress').defineConfig({  component: {
devServer: {
framework: "create-react-app",
bundler: "webpack",
},
},
});

我来晚了,我遇到了类似的问题。删除传递视频的del包是我的罪魁祸首。在CI环境中,它要求单独安装del包,但在我的cypress.config.ts中,我可以直接导入第三方提供的del包。

我想在我的案例中安装确切的del软件包,这解决了问题。德尔包有它的局限性,林拉夫解决了我的问题。https://www.npmjs.com/package/rimraf

看起来是关于版本的。这可能是高效的GitHub

我已经尝试了GitHub问题中建议的所有不同方法user18025789已链接,但没有任何帮助。然后,我尝试将配置文件从.ts切换到cypress.config.js,它开始工作(语法也需要更新为JavaScript(。我不知道为什么。

我遇到这个问题是因为我的Cypress容器中没有安装Typescript。当ts节点不能访问typescript时,它的require行为就像原生的";"需要";,这就是你看到错误的原因。

我对您的具体设置了解不多,无法推荐解决方案,但对我来说,我能够运行npm i,并在运行测试之前将卷装载到柏树容器中。另一种选择可能是创建一个新的Dockerfile,以使用构建中包含的typescript扩展基本Cypress映像。

如果在monoreo上工作,并且只将要测试的app/package文件夹装载到cypry-docker映像中,则并非所有依赖项都在此目录中可用。

为了修复这种挂载,整个工作区都完成了以下工作:

cypress:
image: cypress/included:10.11.0
# …
working_dir: /workspace/app
volumes:
- ..:/workspace

我开始面临这个问题,突然间,
我的解决方案是
rm -rf node_modules package-lock.json
npm i
当我运行
npx cypress open时,我已经有了cypress.config.ts文件,所以cypress测试运行程序在运行

相关内容

  • 没有找到相关文章

最新更新