TypeError: Cannot read properties of null (reading 'render')
elchininet opened this issue ยท 12 comments
Rollup Version
4.16.0
Operating System (or Browser)
Ubuntu 20.04.6 LTS / MacOS Sonoma 14.4.1
Node Version (if applicable)
18.20.2
Link To Reproduction
elchininet/shadow-dom-selector#55
Expected Behaviour
Build should success as it succeeded on previous versions.
Actual Behaviour
Build fails with an error coming from ConditionalExpression.render
:
at ConditionalExpression.render (/xxx/node_modules/rollup/dist/shared/rollup.js:11185:24)
at VariableDeclarator.render (/xxx/node_modules/rollup/dist/shared/rollup.js:12038:18)
at VariableDeclaration.render (/xxx/node_modules/rollup/dist/shared/rollup.js:13724:28)
at renderStatementList (/xxx/node_modules/rollup/dist/shared/rollup.js:9106:25)
at BlockStatement.render (/xxx/node_modules/rollup/dist/shared/rollup.js:9272:13)
at FunctionDeclaration.render (/xxx/node_modules/rollup/dist/shared/rollup.js:6348:23)
at ExportNamedDeclaration.render (/xxx/node_modules/rollup/dist/shared/rollup.js:11436:30)
at renderStatementList (/xxx/node_modules/rollup/dist/shared/rollup.js:9095:35)
at Program.render (/xxx/node_modules/rollup/dist/shared/rollup.js:12880:13)
at Module.render (/xxx/node_modules/rollup/dist/shared/rollup.js:15641:18)
I tried to reproduce it in Repl without success, but seeing that it is coming from ConditionalExpression.render
that was recently refactored this could give a clue to the devs.
I'm working on a PR, will be finished soon
This issue has been resolved via #5481 as part of rollup@4.16.1. You can test it via npm install rollup
.
Fixed: elchininet/shadow-dom-selector#56
Thanks for the quick fix ๐๐ผ
I get a similar error when running a build with Vite 5.2.10
that uses rollup 4.16.1
:
vite v5.2.10 building for production...
transforming...
โ 736 modules transformed.
x Build failed in 14.55s
error during build:
TypeError: Cannot read properties of null (reading 'render')
at LogicalExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11069:33)
at LogicalExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11081:24)
at SequenceExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11614:22)
at IfStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:10216:23)
at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25)
at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13)
at FunctionDeclaration.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23)
at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25)
at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13)
at FunctionDeclaration.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23)
at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25)
at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13)
at ArrowFunctionExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23)
at CallExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:9234:21)
at VariableDeclarator.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:10604:18)
at VariableDeclaration.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:12293:28)
at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25)
at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13)
at FunctionExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23)
at FunctionExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:10138:15)
at CallExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:9234:21)
at ExpressionStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23)
at ExpressionStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7761:15)
at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25)
at Program.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11449:13)
at Module.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:14217:18)
at Chunk.renderModules (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:16790:41)
at Chunk.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:16286:111)
at xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:17963:72
at Array.map (<anonymous>)
at renderChunks (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:17963:53)
at Bundle.generate (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:18201:19)
at async xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:20748:27
at async catchUnfinishedHookActions (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:20175:16)
at async build (xxx/node_modules/vite/dist/node/chunks/dep-DkOS1hkm.js:67489:22)
at async CAC.<anonymous> (xxx/node_modules/vite/dist/node/cli.js:842:9)
The problem seems to be in LogicalExpression.render
method here:
this.getUsedBranch().render(code, options, { // <--------
isCalleeOfRenderedParent,
preventASI,
renderedParentType: renderedParentType || this.parent.type,
renderedSurroundingElement: renderedSurroundingElement || this.parent.type
});
Could you please suggest if this something not covered yet in rollup, or a misconfiguration on my side?
I get a similar error when running a build with Vite
5.2.10
that uses rollup4.16.1
:vite v5.2.10 building for production... transforming... โ 736 modules transformed. x Build failed in 14.55s error during build: TypeError: Cannot read properties of null (reading 'render') at LogicalExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11069:33) at LogicalExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11081:24) at SequenceExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11614:22) at IfStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:10216:23) at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25) at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13) at FunctionDeclaration.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23) at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25) at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13) at FunctionDeclaration.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23) at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25) at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13) at ArrowFunctionExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23) at CallExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:9234:21) at VariableDeclarator.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:10604:18) at VariableDeclaration.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:12293:28) at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25) at BlockStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7830:13) at FunctionExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23) at FunctionExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:10138:15) at CallExpression.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:9234:21) at ExpressionStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:4892:23) at ExpressionStatement.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7761:15) at renderStatementList (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:7664:25) at Program.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:11449:13) at Module.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:14217:18) at Chunk.renderModules (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:16790:41) at Chunk.render (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:16286:111) at xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:17963:72 at Array.map (<anonymous>) at renderChunks (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:17963:53) at Bundle.generate (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:18201:19) at async xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:20748:27 at async catchUnfinishedHookActions (xxx/node_modules/vite/node_modules/rollup/dist/es/shared/node-entry.js:20175:16) at async build (xxx/node_modules/vite/dist/node/chunks/dep-DkOS1hkm.js:67489:22) at async CAC.<anonymous> (xxx/node_modules/vite/dist/node/cli.js:842:9)
The problem seems to be in
LogicalExpression.render
method here:this.getUsedBranch().render(code, options, { // <-------- isCalleeOfRenderedParent, preventASI, renderedParentType: renderedParentType || this.parent.type, renderedSurroundingElement: renderedSurroundingElement || this.parent.type });
Could you please suggest if this something not covered yet in rollup, or a misconfiguration on my side?
It is most probably a rollup error, I will check it later.
@mshabarov Could you please provide a minimal way to reproduce?
@liuly0322 not a minimal example project, unfortunately, but I'm able to reproduce with the example project that is attached to this issue- "k8s-demo-app.zip".
Download the project and run ./mvnw -B
. Then the above error should show up in the console logs when Vite starts to build the bundle.
@liuly0322 not a minimal example project, unfortunately, but I'm able to reproduce with the example project that is attached to this issue- "k8s-demo-app.zip".
Download the project and run
./mvnw -B
. Then the above error should show up in the console logs when Vite starts to build the bundle.
Yes, it is a rollup bug, thanks for spotting. It's weird that I don't know how to solve it now and will have a detailed look later.
some logs:
vite v5.2.8 building for production...
pass: 1
pass: 2
pass: 3
pass: 4
pass: 5
pass: 6
getUsedBranch called
getUsedBranch called
**include function called**
getUsedBranch called
pass: 7
pass: 8
deoptimizeCache called and reset usedBranch
pass: 9
pass: 10
pass: 11
pass: 12
pass: 13
pass: 14
pass: 15
pass: 16
pass: 17
pass: 18
pass: 19
pass: 20
pass: 21
pass: 22
pass: 23
โ 738 modules transformed.
render called
getUsedBranchValue returns null...
It seems that there should be a new include
call to this node after deoptimizeCache
but there isn't.
The above issue has been fixed for us in rollup@4.16.3
. Thanks a lot ๐
This issue has been resolved via #5483 as part of rollup@4.17.0. You can test it via npm install rollup
.
This issue has been resolved via #5483 as part of rollup@4.17.0. You can test it via npm install rollup
.