Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

SyntaxError: Unexpected token ':' — ajv code generation failure in @ui5/project 4.0.17

已关闭
#1,642 1 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 1 天内回复

@d3xter666 已经在做这个了。

开始于 2026年10月8日。

评估

这个 Issue 还没有评估数据。

描述

module/ui5-project

Here is the final ready-to-copy template with all values filled in:


Title:
SyntaxError: Unexpected token ':' — ajv code generation failure in @ui5/project 4.0.17


## Expected Behavior
Running `npm run int-test` (or any `fiori run` command) starts the local development server and opens the application without errors.

## Current Behavior
The process fails immediately with `SyntaxError: Unexpected token ':'` thrown inside `ajv`'s code generator when `@ui5/project` compiles its JSON schema for validating `ui5.yaml`. The server never starts.

## Steps to Reproduce the Issue
1. Clone a project using `@ui5/project` 4.0.17 (no `package-lock.json` in the repository)
2. Run `npm install` — this resolves `@ui5/[email protected]` which installs a nested `[email protected]` under `node_modules/@ui5/project/node_modules/ajv`
3. Run any `fiori run` command, e.g. `npm run int-test`

## Context
 * UI5 Module Version (output of `ui5 --version` when using the CLI): **`4.0.70`**
 * Node.js Version: **`v24.21.0`**
 * npm Version: `11.19.0`
 * OS/Platform: `Windows 11`
 * Browser *(if relevant)*: `not relevant`
 * Other information regarding your environment:
   - `@ui5/project` version: `4.0.17`
   - `ajv` version (nested in `@ui5/project/node_modules`): `8.20.0`
   - A colleague using an older `@ui5/project` version (installed before 4.0.17 was published) does **not** experience this issue
   - Workaround confirmed: deleting the nested `ajv` folder or downgrading it to `8.17.1` resolves the issue

## Log Output / Stack Trace

Process Failed With Error

Error Message:
Unexpected token ':'

Stack Trace:
SyntaxError: Unexpected token ':'
at new Function ()
at Ajv.compileSchema (node_modules/@ui5/project/node_modules/ajv/dist/compile/index.js:89:30)
at Ajv.inlineOrCompile (node_modules/@ui5/project/node_modules/ajv/dist/compile/index.js:148:47)
at Ajv.resolveRef (node_modules/@ui5/project/node_modules/ajv/dist/compile/index.js:142:46)
at Object.code (node_modules/@ui5/project/node_modules/ajv/dist/vocabularies/core/ref.js:19:47)
at keywordCode (node_modules/@ui5/project/node_modules/ajv/dist/compile/validate/index.js:464:13)
at CodeGen.code (node_modules/@ui5/project/node_modules/ajv/dist/compile/codegen/index.js:439:13)
at CodeGen.block (node_modules/@ui5/project/node_modules/ajv/dist/compile/codegen/index.js:568:18)
at schemaKeywords (node_modules/@ui5/project/node_modules/ajv/dist/compile/validate/index.js:185:13)


**Workaround:**

Deleting the nested `ajv` folder forces fallback to the top-level `[email protected]`, which works correctly:

```bash
# Windows (PowerShell)
Remove-Item -Recurse -Force "node_modules/@ui5/project/node_modules/ajv"

# Alternative
npm install --no-save --prefix node_modules/@ui5/project [email protected]

Note: both workarounds must be re-applied after every npm install.

主要语言
JavaScript
星标
511
派生
83
平均合并
1 天 5 小时
30 天内合并 PR
50

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

UI5/cli 的其他 Issue

查看 UI5/cli 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。