如何更改 spago 的节点堆栈限制?
How to change the node stack limit for spago?
我正在使用 PureScript 开发一个项目,该项目 运行 通过 spago test
功能进行了大量庞大的堆栈扩展测试。在大多数情况下,递归太深以至于我达到了极限并且测试失败 RangeError: Maximum call stack size exceeded
.
通常我只会 运行 node
和 --stack-size=$ALOT
标志,但在这里我无法直接访问 JavaScript 求值器(是吗?)。在另一种情况下,我会使用 NODE_OPTIONS
env 变量,但这里是不可能的,如错误消息中所述:
node: --stack-size= is not allowed in NODE_OPTIONS
有没有办法访问 spago
中的 node
标志或以任何其他方式绕过此问题?还有,我的情况不能用TCO解决。
命令spago test
包含两个步骤:
spago build
生成js文件在./output
- 运行编译后的node测试代码
第二步可以手动完成:
node --stack-size=40000 -e "require('./output/Test.Main/index').main()"
我正在使用 PureScript 开发一个项目,该项目 运行 通过 spago test
功能进行了大量庞大的堆栈扩展测试。在大多数情况下,递归太深以至于我达到了极限并且测试失败 RangeError: Maximum call stack size exceeded
.
通常我只会 运行 node
和 --stack-size=$ALOT
标志,但在这里我无法直接访问 JavaScript 求值器(是吗?)。在另一种情况下,我会使用 NODE_OPTIONS
env 变量,但这里是不可能的,如错误消息中所述:
node: --stack-size= is not allowed in NODE_OPTIONS
有没有办法访问 spago
中的 node
标志或以任何其他方式绕过此问题?还有,我的情况不能用TCO解决。
命令spago test
包含两个步骤:
spago build
生成js文件在./output
- 运行编译后的node测试代码
第二步可以手动完成:
node --stack-size=40000 -e "require('./output/Test.Main/index').main()"