如何更改 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包含两个步骤:

  1. spago build生成js文件在./output
  2. 运行编译后的node测试代码

第二步可以手动完成:

node --stack-size=40000 -e "require('./output/Test.Main/index').main()"