ui5-tooling
ui5-tooling copied to clipboard
`ERR! lbt:analyzer:JSModuleAnalyzer Unhandled AST node type ChainExpression Node`
I'm running the UI5 Tolling process via npx
:
import {execSync} from "child_process";
execSync("npx --yes @ui5/cli build --config ./devops/ui5.rel.yaml --exclude-task=createDebugFiles --dest ./src/webapp/rel/production --clean-dest true", {stdio: "inherit"});
In the console I get the following multiple errors:
info builder:builder application com.myApp 🔨 (5/7) Running task generateComponentPreload...
ERR! lbt:analyzer:JSModuleAnalyzer Unhandled AST node type ChainExpression Node {
ERR! lbt:analyzer:JSModuleAnalyzer type: 'ChainExpression',
ERR! lbt:analyzer:JSModuleAnalyzer start: 1399,
ERR! lbt:analyzer:JSModuleAnalyzer end: 1429,
ERR! lbt:analyzer:JSModuleAnalyzer expression: Node {
ERR! lbt:analyzer:JSModuleAnalyzer type: 'MemberExpression',
ERR! lbt:analyzer:JSModuleAnalyzer start: 1399,
ERR! lbt:analyzer:JSModuleAnalyzer end: 1429,
ERR! lbt:analyzer:JSModuleAnalyzer object: Node {
ERR! lbt:analyzer:JSModuleAnalyzer type: 'Identifier',
ERR! lbt:analyzer:JSModuleAnalyzer start: 1399,
ERR! lbt:analyzer:JSModuleAnalyzer end: 1416,
ERR! lbt:analyzer:JSModuleAnalyzer name: 'uploadDestination'
ERR! lbt:analyzer:JSModuleAnalyzer },
ERR! lbt:analyzer:JSModuleAnalyzer property: Node {
ERR! lbt:analyzer:JSModuleAnalyzer type: 'Identifier',
ERR! lbt:analyzer:JSModuleAnalyzer start: 1418,
ERR! lbt:analyzer:JSModuleAnalyzer end: 1429,
ERR! lbt:analyzer:JSModuleAnalyzer name: 'isSucceeded'
ERR! lbt:analyzer:JSModuleAnalyzer },
ERR! lbt:analyzer:JSModuleAnalyzer computed: false,
ERR! lbt:analyzer:JSModuleAnalyzer optional: true
ERR! lbt:analyzer:JSModuleAnalyzer }
ERR! lbt:analyzer:JSModuleAnalyzer }
ERR! lbt:resources:ResourcePool failed to analyze webapp/controller/document/DocumentEdit.controller.js: Error: Unhandled AST node type ChainExpression
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:506:12)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:498:7)
ERR! lbt:resources:ResourcePool at C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\
lbt\analyzer\JSModuleAnalyzer.js:370:29
ERR! lbt:resources:ResourcePool at Array.forEach (<anonymous>)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:370:10)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\
lbt\analyzer\JSModuleAnalyzer.js:370:29
ERR! lbt:resources:ResourcePool at Array.forEach (<anonymous>)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:370:10)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at JSModuleAnalyzer.analyze (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node
_modules\@ui5\builder\lib\lbt\analyzer\JSModuleAnalyzer.js:290:3)
ERR! lbt:resources:ResourcePool at determineDependencyInfo (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_
modules\@ui5\builder\lib\lbt\resources\ResourcePool.js:76:16)
ERR! lbt:resources:ResourcePool at processTicksAndRejections (node:internal/process/task_queues:96:5)
ERR! lbt:resources:ResourcePool at async Promise.all (index 34)
ERR! lbt:resources:ResourcePool at async BundleBuilder._createBundle (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5
\cli\node_modules\@ui5\builder\lib\lbt\bundle\Builder.js:141:26)
ERR! lbt:analyzer:JSModuleAnalyzer Unhandled AST node type ChainExpression Node {
ERR! lbt:analyzer:JSModuleAnalyzer type: 'ChainExpression',
ERR! lbt:analyzer:JSModuleAnalyzer start: 9711,
ERR! lbt:analyzer:JSModuleAnalyzer end: 9731,
ERR! lbt:analyzer:JSModuleAnalyzer expression: Node {
ERR! lbt:analyzer:JSModuleAnalyzer type: 'MemberExpression',
ERR! lbt:analyzer:JSModuleAnalyzer start: 9711,
ERR! lbt:analyzer:JSModuleAnalyzer end: 9731,
ERR! lbt:analyzer:JSModuleAnalyzer object: Node {
ERR! lbt:analyzer:JSModuleAnalyzer type: 'MemberExpression',
ERR! lbt:analyzer:JSModuleAnalyzer start: 9711,
ERR! lbt:analyzer:JSModuleAnalyzer end: 9725,
ERR! lbt:analyzer:JSModuleAnalyzer object: [Node],
ERR! lbt:analyzer:JSModuleAnalyzer property: [Node],
ERR! lbt:analyzer:JSModuleAnalyzer computed: false,
ERR! lbt:analyzer:JSModuleAnalyzer optional: true
ERR! lbt:analyzer:JSModuleAnalyzer },
ERR! lbt:analyzer:JSModuleAnalyzer property: Node { type: 'Identifier', start: 9727, end: 9731, name: 'link' },
ERR! lbt:analyzer:JSModuleAnalyzer computed: false,
ERR! lbt:analyzer:JSModuleAnalyzer optional: true
ERR! lbt:analyzer:JSModuleAnalyzer }
ERR! lbt:analyzer:JSModuleAnalyzer }
ERR! lbt:resources:ResourcePool failed to analyze webapp/controller/BaseController.js: Error: Unhandled AST node type ChainExpression
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:506:12)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\
lbt\analyzer\JSModuleAnalyzer.js:370:29
ERR! lbt:resources:ResourcePool at Array.forEach (<anonymous>)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:370:10)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:498:7)
ERR! lbt:resources:ResourcePool at C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\
lbt\analyzer\JSModuleAnalyzer.js:370:29
ERR! lbt:resources:ResourcePool at Array.forEach (<anonymous>)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:370:10)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at visit (C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\build
er\lib\lbt\analyzer\JSModuleAnalyzer.js:510:6)
ERR! lbt:resources:ResourcePool at C:\Users\User\AppData\Local\npm-cache\_npx\b3b0151a15b6054b\node_modules\@ui5\cli\node_modules\@ui5\builder\lib\
lbt\analyzer\JSModuleAnalyzer.js:370:29
ERR! lbt:resources:ResourcePool at Array.forEach (<anonymous>)
Context
- UI5 Module Version:
2.14.0
(the latest version available vianpx
) - Node.js Version:
17.0.1
/18.0.0
- npm Version:
8.1.1
- OS/Platform:
Windows 10
Notes
There was no such error on 2.13.0
Please read https://github.com/SAP/ui5-builder/pull/615#issuecomment-860509672 for an explanation why we plan to fix this only with the next major version of the tooling.
Please read SAP/ui5-builder#615 (comment) for an explanation why we plan to fix this only with the next major version of the tooling.
Thanks a lot for the reference. Is there any roadmap when the version 3.0 will be released?
Closing as duplicate.
There is a roadmap for 3.0 but no timeline. Subscribe to https://github.com/SAP/ui5-tooling/issues/506 to get updates
Actually let's keep this issue open as reference for this requirement.
For others comming here in search for a solution:
It seems like the build process currently does not support optional chaining (AKA null conditional operator):
var value = ObjectName?.PropertyName;
Try to replace the ?. operator, i.e. like so:
var value = ObjectName ? ObjectName.PropertyName : null;
...or use ui5-tooling 3.0 ;-)
Closing as resolved with v3.0.0
...or use ui5-tooling 3.0 ;-)
Great news! Just tested: v3 indeed solves the problem.
To migrate:
npm i --save-dev @ui5/cli@latest
...and if you want, remove the block "ui5" (including ui5.dependencies) from package.json. It is not needed anymore.
Details see: https://sap.github.io/ui5-tooling/v3/updates/migrate-v3/