运行 CodeQL 时忽略 Javascript 行

问题描述 投票:0回答:1

Qt 有一种独特的方式从其他 JavaScript 资源导入 JavaScript 资源,其语法为:

.import "filename.js" as Qualifier

有关此语法的更多信息可在此处找到

这样做的挑战在于,它会阻止 CodeQL 读取我们的 JavaScript 文件,因为这被标记为

syntax error
,并带有以下消息:

Syntax errors prevent code from executing correctly. If a piece of code contains syntax errors, this most likely indicates that it is never run and thus is dead code that should be removed.

我一直在寻找任何插入编译器指令或类似内容的方法,以便静态分析会忽略这些行,但运气不好。

是否可以对存在这些 import 和 pragma 语句的 Qt/QML 应用程序中使用的 JavaScript 文件执行 CodeQL 分析?

javascript qt github qml codeql
1个回答
0
投票

该文件中的 JS 仍会被解析并包含在 CodeQL 数据库中。 不幸的是 - 任何依赖理解依赖关系树的逻辑都将是不完整的,因此会导致数据库不太精确。一般来说,如果有一种方法可以转换为 javascript/typescript,那么您可以通过仅将 CodeQL(通过

codeql config
中的 paths)指向这些转换后的文件来获得更大的成功。

© www.soinside.com 2019 - 2024. All rights reserved.