aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmllint/main.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2019-10-15 10:39:40 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2019-10-15 13:49:14 +0200
commit3d0bec491e6d823df510ba12dba38be820116e86 (patch)
treedb6eeb60cfa214e9aa3c8e3ae56e8f971c2e643f /tools/qmllint/main.cpp
parentedc8512580fa16892dc13034e93300cc6a2bba59 (diff)
qmllint: Parse .mjs files as JavaScript rather than QML
Change-Id: I80783289452300d4609a27f5b470ecdeeeca5e71 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'tools/qmllint/main.cpp')
-rw-r--r--tools/qmllint/main.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/qmllint/main.cpp b/tools/qmllint/main.cpp
index 56f72dd020..232b31934e 100644
--- a/tools/qmllint/main.cpp
+++ b/tools/qmllint/main.cpp
@@ -62,11 +62,13 @@ static bool lint_file(const QString &filename, const bool silent, const bool war
QQmlJS::Lexer lexer(&engine);
QFileInfo info(filename);
- bool isJavaScript = info.suffix().toLower() == QLatin1String("js");
+ const QString lowerSuffix = info.suffix().toLower();
+ const bool isJavaScript = (lowerSuffix == QLatin1String("js") || lowerSuffix == QLatin1String("mjs"));
+ const bool isESModule = lowerSuffix == QLatin1String("mjs");
lexer.setCode(code, /*line = */ 1, /*qmlMode=*/ !isJavaScript);
QQmlJS::Parser parser(&engine);
- bool success = isJavaScript ? parser.parseProgram() : parser.parse();
+ bool success = isJavaScript ? (isESModule ? parser.parseModule() : parser.parseProgram()) : parser.parse();
if (!success && !silent) {
const auto diagnosticMessages = parser.diagnosticMessages();